├── .gitignore ├── .travis.yml ├── BUILDING.md ├── GLideN64 ├── .gitignore ├── LICENSE ├── README.md ├── ini │ ├── GLideN64.custom.ini │ └── GLideN64.ini ├── licenses │ ├── GlideHQ │ │ └── gpl-2.0.txt │ ├── Glow │ │ └── LICENSE │ └── gles2n64 │ │ └── LICENSE ├── projects │ ├── cmake │ │ └── Readme.txt │ └── msvc12 │ │ ├── GLideN64.sln │ │ ├── GLideN64.vcxproj │ │ ├── GLideN64.vcxproj.filters │ │ ├── libGLideNHQ.vcxproj │ │ ├── libGLideNHQ.vcxproj.filters │ │ ├── osal.vcxproj │ │ └── osal.vcxproj.filters ├── src │ ├── 3DMath.cpp │ ├── 3DMath.h │ ├── 3DMathNeon.cpp │ ├── BufferCopy │ │ ├── ColorBufferToRDRAM.cpp │ │ ├── ColorBufferToRDRAM.h │ │ ├── ColorBufferToRDRAMStub.h │ │ ├── ColorBufferToRDRAM_BufferStorageExt.cpp │ │ ├── ColorBufferToRDRAM_BufferStorageExt.h │ │ ├── ColorBufferToRDRAM_GL.cpp │ │ ├── ColorBufferToRDRAM_GL.h │ │ ├── DepthBufferToRDRAM.cpp │ │ ├── DepthBufferToRDRAM.h │ │ ├── RDRAMtoColorBuffer.cpp │ │ ├── RDRAMtoColorBuffer.h │ │ └── WriteToRDRAM.h │ ├── CMakeLists.txt │ ├── CRC.h │ ├── CRC32.cpp │ ├── CRC32_ARMV8.cpp │ ├── Combiner.cpp │ ├── Combiner.h │ ├── CommonPluginAPI.cpp │ ├── Config.cpp │ ├── Config.h │ ├── Debug.h │ ├── DepthBuffer.cpp │ ├── DepthBuffer.h │ ├── DepthBufferRender │ │ ├── ClipPolygon.cpp │ │ ├── ClipPolygon.h │ │ ├── DepthBufferRender.cpp │ │ └── DepthBufferRender.h │ ├── F3D.cpp │ ├── F3D.h │ ├── F3DBETA.cpp │ ├── F3DBETA.h │ ├── F3DDKR.cpp │ ├── F3DDKR.h │ ├── F3DEX.cpp │ ├── F3DEX.h │ ├── F3DEX2.cpp │ ├── F3DEX2.h │ ├── F3DEX2CBFD.cpp │ ├── F3DEX2CBFD.h │ ├── F3DEX2MM.cpp │ ├── F3DEX2MM.h │ ├── F3DGOLDEN.cpp │ ├── F3DGOLDEN.h │ ├── F3DPD.cpp │ ├── F3DPD.h │ ├── F3DSETA.cpp │ ├── F3DSETA.h │ ├── FBOTextureFormats.cpp │ ├── FBOTextureFormats.h │ ├── FrameBuffer.cpp │ ├── FrameBuffer.h │ ├── FrameBufferEmulationIssues.txt │ ├── FrameBufferInfo.cpp │ ├── FrameBufferInfo.h │ ├── FrameBufferInfoAPI.h │ ├── GBI.cpp │ ├── GBI.h │ ├── GLES2 │ │ ├── GLSLCombiner_gles2.cpp │ │ └── Shaders_gles2.h │ ├── GLSLCombiner.h │ ├── GLUniforms │ │ ├── UniformBlock.cpp │ │ ├── UniformBlock.h │ │ ├── UniformSet.cpp │ │ └── UniformSet.h │ ├── GLideN64.cpp │ ├── GLideN64.h │ ├── GLideNHQ │ │ ├── CMakeLists.txt │ │ ├── Ext_TxFilter.cpp │ │ ├── Ext_TxFilter.h │ │ ├── GlideHQ.rc │ │ ├── README.txt │ │ ├── TextureFilters.cpp │ │ ├── TextureFilters.h │ │ ├── TextureFilters_2xsai.cpp │ │ ├── TextureFilters_2xsai.h │ │ ├── TextureFilters_hq2x.cpp │ │ ├── TextureFilters_hq2x.h │ │ ├── TextureFilters_hq4x.cpp │ │ ├── TextureFilters_hq4x.h │ │ ├── TextureFilters_lq2x.h │ │ ├── TextureFilters_xbrz.cpp │ │ ├── TextureFilters_xbrz.h │ │ ├── TxCache.cpp │ │ ├── TxCache.h │ │ ├── TxDbg.cpp │ │ ├── TxDbg.h │ │ ├── TxFilter.cpp │ │ ├── TxFilter.h │ │ ├── TxFilterExport.cpp │ │ ├── TxHiResCache.cpp │ │ ├── TxHiResCache.h │ │ ├── TxImage.cpp │ │ ├── TxImage.h │ │ ├── TxInternal.h │ │ ├── TxQuantize.cpp │ │ ├── TxQuantize.h │ │ ├── TxReSample.cpp │ │ ├── TxReSample.h │ │ ├── TxTexCache.cpp │ │ ├── TxTexCache.h │ │ ├── TxUtil.cpp │ │ ├── TxUtil.h │ │ ├── bldno.cpp │ │ ├── bldno.h │ │ ├── gpl-2.0.txt │ │ ├── inc │ │ │ ├── png.h │ │ │ ├── pngconf.h │ │ │ ├── pnglibconf.h │ │ │ ├── pngstruct.h │ │ │ ├── zconf.h │ │ │ └── zlib.h │ │ ├── lib │ │ │ ├── libdxtn.a │ │ │ ├── libpng.a │ │ │ ├── libpng.lib │ │ │ ├── libpngd.lib │ │ │ ├── libz.a │ │ │ ├── zlib.lib │ │ │ └── zlibd.lib │ │ ├── mupen64plus-video-glidenhq.mk │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── Makefile.gcc │ │ │ ├── Makefile.vc8 │ │ │ └── test.cpp │ │ ├── txWidestringWrapper.cpp │ │ └── txWidestringWrapper.h │ ├── GLideNUI │ │ ├── AboutDialog.cpp │ │ ├── AboutDialog.h │ │ ├── AboutDialog.ui │ │ ├── BottomLeft.ico │ │ ├── BottomRight.ico │ │ ├── ConfigDialog.cpp │ │ ├── ConfigDialog.h │ │ ├── Down.ico │ │ ├── FullscreenResolutions.h │ │ ├── GLideNUI.cpp │ │ ├── GLideNUI.h │ │ ├── GLideNUI.pro │ │ ├── GLideNUI.sln │ │ ├── GLideNUI.vcxproj │ │ ├── GLideNUI.vcxproj.filters │ │ ├── Icon-Original.ico │ │ ├── Icon.ico │ │ ├── Info.ico │ │ ├── Left.ico │ │ ├── Right.ico │ │ ├── ScreenShot.cpp │ │ ├── Settings.cpp │ │ ├── Settings.h │ │ ├── TopLeft.ico │ │ ├── TopRight.ico │ │ ├── Up.ico │ │ ├── Warning.ico │ │ ├── configDialog.ui │ │ ├── fullscreenresolutions_windows.cpp │ │ └── icon.qrc │ ├── Keys.cpp │ ├── Keys.h │ ├── L3D.cpp │ ├── L3D.h │ ├── L3DEX.cpp │ ├── L3DEX.h │ ├── L3DEX2.cpp │ ├── L3DEX2.h │ ├── Log.cpp │ ├── Log.h │ ├── Log_android.cpp │ ├── MupenPlusPluginAPI.cpp │ ├── N64.cpp │ ├── N64.h │ ├── OGL3X │ │ ├── GLSLCombiner_ogl3x.cpp │ │ └── Shaders_ogl3x.h │ ├── OpenGL.cpp │ ├── OpenGL.h │ ├── Performance.cpp │ ├── Performance.h │ ├── PluginAPI.h │ ├── PostProcessor.cpp │ ├── PostProcessor.h │ ├── RDP.cpp │ ├── RDP.h │ ├── RSP.cpp │ ├── RSP.h │ ├── RaspberryPi │ │ └── ShaderUtils_VC.h │ ├── S2DEX.cpp │ ├── S2DEX.h │ ├── S2DEX2.cpp │ ├── S2DEX2.h │ ├── ShaderUtils.cpp │ ├── ShaderUtils.h │ ├── SoftwareRender.cpp │ ├── SoftwareRender.h │ ├── TextDrawer.cpp │ ├── TextDrawer.h │ ├── TextDrawerStub.cpp │ ├── TextureFilterHandler.cpp │ ├── TextureFilterHandler.h │ ├── Textures.cpp │ ├── Textures.h │ ├── Turbo3D.cpp │ ├── Turbo3D.h │ ├── TxFilterStub.cpp │ ├── Types.h │ ├── UniformCollection.h │ ├── VI.cpp │ ├── VI.h │ ├── ZSort.cpp │ ├── ZSort.h │ ├── ZilmarGFX_1_3.h │ ├── ZilmarPluginAPI.cpp │ ├── common │ │ ├── CommonAPIImpl_common.cpp │ │ ├── GLFunctions.cpp │ │ └── GLFunctions.h │ ├── convert.cpp │ ├── convert.h │ ├── gDP.cpp │ ├── gDP.h │ ├── gSP.cpp │ ├── gSP.h │ ├── gSPNeon.cpp │ ├── getRevision.sh │ ├── glState.cpp │ ├── glState.h │ ├── inc │ │ ├── ARB_buffer_storage.h │ │ ├── GL │ │ │ ├── glcorearb.h │ │ │ └── glext.h │ │ ├── callbacks.h │ │ ├── config.h │ │ ├── debugger.h │ │ ├── m64p_common.h │ │ ├── m64p_config.h │ │ ├── m64p_debugger.h │ │ ├── m64p_frontend.h │ │ ├── m64p_plugin.h │ │ ├── m64p_types.h │ │ ├── m64p_vidext.h │ │ ├── vidext.h │ │ └── vidext_sdl2_compat.h │ ├── mupen64plus-video-gliden64.mk │ ├── mupenplus │ │ ├── CommonAPIImpl_mupenplus.cpp │ │ ├── Config_mupenplus.cpp │ │ ├── GLideN64_mupenplus.h │ │ ├── MupenPlusAPIImpl.cpp │ │ ├── OpenGL_mupenplus.cpp │ │ └── video_api_export.ver │ ├── osal │ │ ├── CMakeLists.txt │ │ ├── mupen64plus-video-osal.mk │ │ ├── osal_files.h │ │ ├── osal_files_unix.c │ │ └── osal_files_win32.c │ ├── sdl2_compat.h │ ├── windows │ │ ├── CommonAPIImpl_windows.cpp │ │ ├── Config_windows.cpp │ │ ├── GLideN64_windows.cpp │ │ ├── GLideN64_windows.h │ │ ├── OpenGL_windows.cpp │ │ └── ZilmarAPIImpl_windows.cpp │ ├── winlnxdefs.h │ └── wst.h └── translations │ ├── gliden64_de.ts │ ├── gliden64_es.ts │ ├── gliden64_fr.ts │ ├── gliden64_it.ts │ ├── gliden64_ja.ts │ ├── gliden64_pl.ts │ └── gliden64_pt_BR.ts ├── LICENSE ├── Makefile ├── Makefile.common ├── README.md ├── custom ├── GLideN64 │ ├── CRC.cpp │ ├── GLideN64.custom.ini.h │ ├── GLideN64_libretro.h │ ├── MupenPlusPluginAPI.cpp │ ├── inc │ │ └── ARB_buffer_storage.h │ └── mupenplus │ │ ├── CommonAPIImpl_mupenplus.cpp │ │ ├── Config_mupenplus.cpp │ │ ├── GLideN64_mupenplus.h │ │ └── OpenGL_mupenplus.cpp ├── android │ ├── arm │ │ └── libpng.a │ ├── arm64 │ │ └── libpng.a │ ├── include │ │ ├── GLES3 │ │ │ └── gl31.h │ │ ├── cutils │ │ │ ├── android_reboot.h │ │ │ ├── aref.h │ │ │ ├── ashmem.h │ │ │ ├── atomic.h │ │ │ ├── bitops.h │ │ │ ├── compiler.h │ │ │ ├── config_utils.h │ │ │ ├── debugger.h │ │ │ ├── fs.h │ │ │ ├── hashmap.h │ │ │ ├── iosched_policy.h │ │ │ ├── jstring.h │ │ │ ├── klog.h │ │ │ ├── list.h │ │ │ ├── log.h │ │ │ ├── memory.h │ │ │ ├── misc.h │ │ │ ├── multiuser.h │ │ │ ├── native_handle.h │ │ │ ├── open_memstream.h │ │ │ ├── partition_utils.h │ │ │ ├── process_name.h │ │ │ ├── properties.h │ │ │ ├── qtaguid.h │ │ │ ├── record_stream.h │ │ │ ├── sched_policy.h │ │ │ ├── sockets.h │ │ │ ├── str_parms.h │ │ │ ├── threads.h │ │ │ ├── trace.h │ │ │ └── uevent.h │ │ ├── hardware │ │ │ ├── activity_recognition.h │ │ │ ├── audio.h │ │ │ ├── audio_alsaops.h │ │ │ ├── audio_effect.h │ │ │ ├── audio_policy.h │ │ │ ├── bluetooth.h │ │ │ ├── boot_control.h │ │ │ ├── bt_av.h │ │ │ ├── bt_common_types.h │ │ │ ├── bt_gatt.h │ │ │ ├── bt_gatt_client.h │ │ │ ├── bt_gatt_server.h │ │ │ ├── bt_gatt_types.h │ │ │ ├── bt_hf.h │ │ │ ├── bt_hf_client.h │ │ │ ├── bt_hh.h │ │ │ ├── bt_hl.h │ │ │ ├── bt_mce.h │ │ │ ├── bt_pan.h │ │ │ ├── bt_rc.h │ │ │ ├── bt_sdp.h │ │ │ ├── bt_sock.h │ │ │ ├── camera.h │ │ │ ├── camera2.h │ │ │ ├── camera3.h │ │ │ ├── camera_common.h │ │ │ ├── consumerir.h │ │ │ ├── fb.h │ │ │ ├── fingerprint.h │ │ │ ├── fused_location.h │ │ │ ├── gatekeeper.h │ │ │ ├── gps.h │ │ │ ├── gralloc.h │ │ │ ├── hardware.h │ │ │ ├── hdmi_cec.h │ │ │ ├── hw_auth_token.h │ │ │ ├── hwcomposer.h │ │ │ ├── hwcomposer_defs.h │ │ │ ├── input.h │ │ │ ├── keymaster0.h │ │ │ ├── keymaster1.h │ │ │ ├── keymaster2.h │ │ │ ├── keymaster_common.h │ │ │ ├── keymaster_defs.h │ │ │ ├── lights.h │ │ │ ├── local_time_hal.h │ │ │ ├── memtrack.h │ │ │ ├── nfc.h │ │ │ ├── nfc_tag.h │ │ │ ├── nvram.h │ │ │ ├── nvram_defs.h │ │ │ ├── power.h │ │ │ ├── qemu_pipe.h │ │ │ ├── qemud.h │ │ │ ├── radio.h │ │ │ ├── sensors.h │ │ │ ├── sound_trigger.h │ │ │ ├── tv_input.h │ │ │ └── vibrator.h │ │ ├── log │ │ │ ├── event_tag_map.h │ │ │ ├── log.h │ │ │ ├── log_read.h │ │ │ ├── logd.h │ │ │ ├── logger.h │ │ │ ├── logprint.h │ │ │ └── uio.h │ │ ├── system │ │ │ ├── camera.h │ │ │ ├── graphics.h │ │ │ ├── radio.h │ │ │ ├── thread_defs.h │ │ │ └── window.h │ │ ├── ui │ │ │ ├── ANativeObjectBase.h │ │ │ ├── DisplayInfo.h │ │ │ ├── DisplayStatInfo.h │ │ │ ├── Fence.h │ │ │ ├── FrameStats.h │ │ │ ├── FramebufferNativeWindow.h │ │ │ ├── GraphicBuffer.h │ │ │ ├── GraphicBufferAllocator.h │ │ │ ├── GraphicBufferMapper.h │ │ │ ├── PixelFormat.h │ │ │ ├── Point.h │ │ │ ├── Rect.h │ │ │ ├── Region.h │ │ │ ├── TMatHelpers.h │ │ │ ├── TVecHelpers.h │ │ │ ├── UiConfig.h │ │ │ ├── mat4.h │ │ │ ├── vec2.h │ │ │ ├── vec3.h │ │ │ └── vec4.h │ │ └── utils │ │ │ ├── AndroidThreads.h │ │ │ ├── Atomic.h │ │ │ ├── BitSet.h │ │ │ ├── BlobCache.h │ │ │ ├── ByteOrder.h │ │ │ ├── CallStack.h │ │ │ ├── Compat.h │ │ │ ├── Condition.h │ │ │ ├── Debug.h │ │ │ ├── Endian.h │ │ │ ├── Errors.h │ │ │ ├── FileMap.h │ │ │ ├── Flattenable.h │ │ │ ├── Functor.h │ │ │ ├── JenkinsHash.h │ │ │ ├── KeyedVector.h │ │ │ ├── LinearTransform.h │ │ │ ├── List.h │ │ │ ├── Log.h │ │ │ ├── Looper.h │ │ │ ├── LruCache.h │ │ │ ├── Mutex.h │ │ │ ├── NativeHandle.h │ │ │ ├── Printer.h │ │ │ ├── ProcessCallStack.h │ │ │ ├── PropertyMap.h │ │ │ ├── RWLock.h │ │ │ ├── RefBase.h │ │ │ ├── Singleton.h │ │ │ ├── SortedVector.h │ │ │ ├── StopWatch.h │ │ │ ├── String16.h │ │ │ ├── String8.h │ │ │ ├── StrongPointer.h │ │ │ ├── SystemClock.h │ │ │ ├── Thread.h │ │ │ ├── ThreadDefs.h │ │ │ ├── Timers.h │ │ │ ├── Tokenizer.h │ │ │ ├── Trace.h │ │ │ ├── TypeHelpers.h │ │ │ ├── Unicode.h │ │ │ ├── Vector.h │ │ │ ├── VectorImpl.h │ │ │ ├── misc.h │ │ │ └── threads.h │ ├── x86 │ │ └── libpng.a │ └── x86_64 │ │ └── libpng.a ├── glsm │ ├── glsm.cpp │ └── glsmsym.h ├── mman-win32 │ ├── mman.c │ └── sys │ │ └── mman.h ├── mupen64plus-core │ ├── api │ │ ├── config.c │ │ ├── frontend_libretro.c │ │ ├── msvc_compat.h │ │ └── vidext_libretro.c │ ├── main │ │ ├── main.c │ │ └── mupen64plus.ini.h │ └── plugin │ │ ├── audio_libretro │ │ ├── audio_backend_libretro.c │ │ └── audio_plugin.h │ │ ├── emulate_game_controller_via_input_plugin.h │ │ ├── emulate_game_controller_via_libretro.c │ │ ├── plugin.h │ │ └── plugin_libretro.c └── mupen64plus-rsp-cxd4 │ └── module.c ├── libretro-common ├── .gitignore ├── audio │ ├── conversion │ │ ├── float_to_s16.c │ │ ├── float_to_s16_neon.S │ │ ├── float_to_s16_neon.c │ │ ├── s16_to_float.c │ │ ├── s16_to_float_neon.S │ │ └── s16_to_float_neon.c │ └── resampler │ │ ├── audio_resampler.c │ │ └── drivers │ │ ├── nearest_resampler.c │ │ ├── null_resampler.c │ │ ├── sinc_resampler.c │ │ └── sinc_resampler_neon.S ├── compat │ ├── compat_fnmatch.c │ ├── compat_getopt.c │ ├── compat_ifaddrs.c │ ├── compat_posix_string.c │ ├── compat_snprintf.c │ ├── compat_strcasestr.c │ └── compat_strl.c ├── features │ └── features_cpu.c ├── file │ ├── config_file.c │ ├── config_file_userdata.c │ ├── file_path.c │ ├── retro_dirent.c │ └── retro_stat.c ├── formats │ ├── bmp │ │ ├── rbmp.c │ │ └── rbmp_encode.c │ ├── image_texture.c │ ├── image_transfer.c │ ├── jpeg │ │ └── rjpeg.c │ ├── json │ │ └── jsonsax.c │ ├── png │ │ ├── rpng.c │ │ ├── rpng_encode.c │ │ └── rpng_internal.h │ ├── tga │ │ └── rtga.c │ ├── wav │ │ └── rwav.c │ └── xml │ │ ├── rxml.c │ │ └── test │ │ ├── Makefile │ │ └── rxml_test.c ├── glsm │ └── glsm.c ├── glsym │ ├── README.md │ ├── glgen.py │ ├── glsym_es2.c │ ├── glsym_es3.c │ ├── glsym_gl.c │ ├── rglgen.c │ ├── rglgen.py │ └── xglgen.py ├── hash │ └── rhash.c ├── include │ ├── audio │ │ ├── audio_resampler.h │ │ ├── conversion │ │ │ ├── float_to_s16.h │ │ │ └── s16_to_float.h │ │ └── dsp_filter.h │ ├── boolean.h │ ├── clamping.h │ ├── compat │ │ ├── apple_compat.h │ │ ├── fnmatch.h │ │ ├── getopt.h │ │ ├── ifaddrs.h │ │ ├── intrinsics.h │ │ ├── msvc.h │ │ ├── msvc │ │ │ └── stdint.h │ │ ├── posix_string.h │ │ ├── strcasestr.h │ │ ├── strl.h │ │ ├── zconf.h │ │ ├── zconf.h.in │ │ ├── zlib.h │ │ └── zutil.h │ ├── fastcpy.h │ ├── features │ │ └── features_cpu.h │ ├── file │ │ ├── config_file.h │ │ ├── config_file_userdata.h │ │ └── file_path.h │ ├── filters.h │ ├── formats │ │ ├── image.h │ │ ├── jsonsax.h │ │ ├── rbmp.h │ │ ├── rjpeg.h │ │ ├── rpng.h │ │ ├── rtga.h │ │ ├── rwav.h │ │ └── rxml.h │ ├── glsm │ │ ├── glsm.h │ │ └── glsmsym.h │ ├── glsym │ │ ├── glsym.h │ │ ├── glsym_es2.h │ │ ├── glsym_es3.h │ │ ├── glsym_gl.h │ │ ├── rglgen.h │ │ ├── rglgen_headers.h │ │ └── switch │ │ │ ├── nx_gl.h │ │ │ └── nx_glsym.h │ ├── libco.h │ ├── libretro.h │ ├── libretro_vulkan.h │ ├── lists │ │ └── string_list.h │ ├── math │ │ ├── complex.h │ │ ├── float_minmax.h │ │ └── fxp.h │ ├── memalign.h │ ├── memmap.h │ ├── retro_assert.h │ ├── retro_common.h │ ├── retro_common_api.h │ ├── retro_dirent.h │ ├── retro_endianness.h │ ├── retro_environment.h │ ├── retro_inline.h │ ├── retro_miscellaneous.h │ ├── retro_stat.h │ ├── rhash.h │ ├── rthreads │ │ ├── rsemaphore.h │ │ └── rthreads.h │ ├── streams │ │ ├── file_stream.h │ │ ├── interface_stream.h │ │ ├── memory_stream.h │ │ └── trans_stream.h │ ├── string │ │ └── stdstring.h │ ├── utils │ │ └── md5.h │ └── vulkan │ │ └── vulkan_symbol_wrapper.h ├── libco │ ├── aarch64.c │ ├── amd64.c │ ├── armeabi.c │ ├── fiber.c │ ├── libco.c │ ├── ppc.c │ ├── psp2.c │ ├── scefiber.c │ ├── sjlj.c │ ├── ucontext.c │ └── x86.c ├── lists │ └── string_list.c ├── memmap │ ├── memalign.c │ └── memmap.c ├── rthreads │ ├── gx_pthread.h │ ├── psp_pthread.h │ ├── rsemaphore.c │ ├── rthreads.c │ └── xenon_sdl_threads.c ├── streams │ ├── file_stream.c │ ├── interface_stream.c │ ├── memory_stream.c │ ├── trans_stream.c │ ├── trans_stream_pipe.c │ └── trans_stream_zlib.c ├── string │ └── stdstring.c └── vulkan │ └── vulkan_symbol_wrapper.c ├── libretro-deps └── libpng │ ├── ANNOUNCE │ ├── CHANGES │ ├── INSTALL │ ├── LICENSE │ ├── README │ ├── TODO │ ├── arm │ ├── arm_init.c │ ├── filter_neon.S │ └── filter_neon_intrinsics.c │ ├── contrib │ ├── README.txt │ ├── arm-neon │ │ ├── README │ │ ├── android-ndk.c │ │ ├── linux-auxv.c │ │ └── linux.c │ ├── conftest │ │ ├── README │ │ ├── pngcp.dfa │ │ ├── read.dfa │ │ ├── s_read.dfa │ │ ├── s_write.dfa │ │ ├── simple.dfa │ │ └── write.dfa │ ├── examples │ │ ├── README.txt │ │ ├── iccfrompng.c │ │ ├── pngpixel.c │ │ ├── pngtopng.c │ │ └── simpleover.c │ ├── gregbook │ │ ├── COPYING │ │ ├── LICENSE │ │ ├── Makefile.mingw32 │ │ ├── Makefile.sgi │ │ ├── Makefile.unx │ │ ├── Makefile.w32 │ │ ├── README │ │ ├── makevms.com │ │ ├── readpng.c │ │ ├── readpng.h │ │ ├── readpng2.c │ │ ├── readpng2.h │ │ ├── readppm.c │ │ ├── rpng-win.c │ │ ├── rpng-x.c │ │ ├── rpng2-win.c │ │ ├── rpng2-x.c │ │ ├── toucan.png │ │ ├── wpng.c │ │ ├── writepng.c │ │ └── writepng.h │ ├── intel │ │ ├── INSTALL │ │ ├── filter_sse2_intrinsics.c │ │ ├── intel_init.c │ │ └── intel_sse.patch │ ├── libtests │ │ ├── fakepng.c │ │ ├── gentests.sh │ │ ├── makepng.c │ │ ├── pngimage.c │ │ ├── pngstest-errors.h │ │ ├── pngstest.c │ │ ├── pngunknown.c │ │ ├── pngvalid.c │ │ ├── readpng.c │ │ ├── tarith.c │ │ └── timepng.c │ ├── pngminim │ │ ├── README │ │ ├── decoder │ │ │ ├── README │ │ │ ├── makefile │ │ │ ├── pngusr.dfa │ │ │ └── pngusr.h │ │ ├── encoder │ │ │ ├── README │ │ │ ├── makefile │ │ │ ├── pngusr.dfa │ │ │ └── pngusr.h │ │ └── preader │ │ │ ├── README │ │ │ ├── makefile │ │ │ ├── pngusr.dfa │ │ │ └── pngusr.h │ ├── pngminus │ │ ├── README │ │ ├── makefile.std │ │ ├── makefile.tc3 │ │ ├── makevms.com │ │ ├── png2pnm.bat │ │ ├── png2pnm.c │ │ ├── png2pnm.sh │ │ ├── pngminus.bat │ │ ├── pngminus.sh │ │ ├── pnm2png.bat │ │ ├── pnm2png.c │ │ └── pnm2png.sh │ ├── pngsuite │ │ ├── README │ │ ├── basn0g01.png │ │ ├── basn0g02.png │ │ ├── basn0g04.png │ │ ├── basn0g08.png │ │ ├── basn0g16.png │ │ ├── basn2c08.png │ │ ├── basn2c16.png │ │ ├── basn3p01.png │ │ ├── basn3p02.png │ │ ├── basn3p04.png │ │ ├── basn3p08.png │ │ ├── basn4a08.png │ │ ├── basn4a16.png │ │ ├── basn6a08.png │ │ ├── basn6a16.png │ │ ├── ftbbn0g01.png │ │ ├── ftbbn0g02.png │ │ ├── ftbbn0g04.png │ │ ├── ftbbn2c16.png │ │ ├── ftbbn3p08.png │ │ ├── ftbgn2c16.png │ │ ├── ftbgn3p08.png │ │ ├── ftbrn2c08.png │ │ ├── ftbwn0g16.png │ │ ├── ftbwn3p08.png │ │ ├── ftbyn3p08.png │ │ ├── ftp0n0g08.png │ │ ├── ftp0n2c08.png │ │ ├── ftp0n3p08.png │ │ └── ftp1n3p08.png │ ├── testpngs │ │ ├── gray-1-1.8-tRNS.png │ │ ├── gray-1-1.8.png │ │ ├── gray-1-linear-tRNS.png │ │ ├── gray-1-linear.png │ │ ├── gray-1-sRGB-tRNS.png │ │ ├── gray-1-sRGB.png │ │ ├── gray-1-tRNS.png │ │ ├── gray-1.png │ │ ├── gray-16-1.8-tRNS.png │ │ ├── gray-16-1.8.png │ │ ├── gray-16-linear-tRNS.png │ │ ├── gray-16-linear.png │ │ ├── gray-16-sRGB-tRNS.png │ │ ├── gray-16-sRGB.png │ │ ├── gray-16-tRNS.png │ │ ├── gray-16.png │ │ ├── gray-2-1.8-tRNS.png │ │ ├── gray-2-1.8.png │ │ ├── gray-2-linear-tRNS.png │ │ ├── gray-2-linear.png │ │ ├── gray-2-sRGB-tRNS.png │ │ ├── gray-2-sRGB.png │ │ ├── gray-2-tRNS.png │ │ ├── gray-2.png │ │ ├── gray-4-1.8-tRNS.png │ │ ├── gray-4-1.8.png │ │ ├── gray-4-linear-tRNS.png │ │ ├── gray-4-linear.png │ │ ├── gray-4-sRGB-tRNS.png │ │ ├── gray-4-sRGB.png │ │ ├── gray-4-tRNS.png │ │ ├── gray-4.png │ │ ├── gray-8-1.8-tRNS.png │ │ ├── gray-8-1.8.png │ │ ├── gray-8-linear-tRNS.png │ │ ├── gray-8-linear.png │ │ ├── gray-8-sRGB-tRNS.png │ │ ├── gray-8-sRGB.png │ │ ├── gray-8-tRNS.png │ │ ├── gray-8.png │ │ ├── gray-alpha-16-1.8.png │ │ ├── gray-alpha-16-linear.png │ │ ├── gray-alpha-16-sRGB.png │ │ ├── gray-alpha-16.png │ │ ├── gray-alpha-8-1.8.png │ │ ├── gray-alpha-8-linear.png │ │ ├── gray-alpha-8-sRGB.png │ │ ├── gray-alpha-8.png │ │ ├── makepngs.sh │ │ ├── palette-1-1.8-tRNS.png │ │ ├── palette-1-1.8.png │ │ ├── palette-1-linear-tRNS.png │ │ ├── palette-1-linear.png │ │ ├── palette-1-sRGB-tRNS.png │ │ ├── palette-1-sRGB.png │ │ ├── palette-1-tRNS.png │ │ ├── palette-1.png │ │ ├── palette-2-1.8-tRNS.png │ │ ├── palette-2-1.8.png │ │ ├── palette-2-linear-tRNS.png │ │ ├── palette-2-linear.png │ │ ├── palette-2-sRGB-tRNS.png │ │ ├── palette-2-sRGB.png │ │ ├── palette-2-tRNS.png │ │ ├── palette-2.png │ │ ├── palette-4-1.8-tRNS.png │ │ ├── palette-4-1.8.png │ │ ├── palette-4-linear-tRNS.png │ │ ├── palette-4-linear.png │ │ ├── palette-4-sRGB-tRNS.png │ │ ├── palette-4-sRGB.png │ │ ├── palette-4-tRNS.png │ │ ├── palette-4.png │ │ ├── palette-8-1.8-tRNS.png │ │ ├── palette-8-1.8.png │ │ ├── palette-8-linear-tRNS.png │ │ ├── palette-8-linear.png │ │ ├── palette-8-sRGB-tRNS.png │ │ ├── palette-8-sRGB.png │ │ ├── palette-8-tRNS.png │ │ ├── palette-8.png │ │ ├── rgb-16-1.8-tRNS.png │ │ ├── rgb-16-1.8.png │ │ ├── rgb-16-linear-tRNS.png │ │ ├── rgb-16-linear.png │ │ ├── rgb-16-sRGB-tRNS.png │ │ ├── rgb-16-sRGB.png │ │ ├── rgb-16-tRNS.png │ │ ├── rgb-16.png │ │ ├── rgb-8-1.8-tRNS.png │ │ ├── rgb-8-1.8.png │ │ ├── rgb-8-linear-tRNS.png │ │ ├── rgb-8-linear.png │ │ ├── rgb-8-sRGB-tRNS.png │ │ ├── rgb-8-sRGB.png │ │ ├── rgb-8-tRNS.png │ │ ├── rgb-8.png │ │ ├── rgb-alpha-16-1.8.png │ │ ├── rgb-alpha-16-linear.png │ │ ├── rgb-alpha-16-sRGB.png │ │ ├── rgb-alpha-16.png │ │ ├── rgb-alpha-8-1.8.png │ │ ├── rgb-alpha-8-linear.png │ │ ├── rgb-alpha-8-sRGB.png │ │ └── rgb-alpha-8.png │ ├── tools │ │ ├── README.txt │ │ ├── checksum-icc.c │ │ ├── chkfmt │ │ ├── cvtcolor.c │ │ ├── genpng.c │ │ ├── intgamma.sh │ │ ├── makesRGB.c │ │ ├── png-fix-itxt.c │ │ ├── pngcp.c │ │ ├── pngfix.c │ │ ├── reindent │ │ └── sRGB.h │ └── visupng │ │ ├── PngFile.c │ │ ├── PngFile.h │ │ ├── README.txt │ │ ├── VisualPng.c │ │ ├── VisualPng.dsp │ │ ├── VisualPng.dsw │ │ ├── VisualPng.ico │ │ ├── VisualPng.png │ │ ├── VisualPng.rc │ │ ├── cexcept.h │ │ └── resource.h │ ├── png.c │ ├── png.h │ ├── pngconf.h │ ├── pngdebug.h │ ├── pngerror.c │ ├── pngget.c │ ├── pnginfo.h │ ├── pnglibconf.h │ ├── pngmem.c │ ├── pngpread.c │ ├── pngpriv.h │ ├── pngread.c │ ├── pngrio.c │ ├── pngrtran.c │ ├── pngrutil.c │ ├── pngset.c │ ├── pngstruct.h │ ├── pngtest.c │ ├── pngtrans.c │ ├── pngusr.dfa │ ├── pngwio.c │ ├── pngwrite.c │ ├── pngwtran.c │ └── pngwutil.c ├── libretro ├── jni │ ├── Android.mk │ └── Application.mk ├── libretro.c ├── libretro_memory.h ├── libretro_perf.h ├── libretro_private.h └── link.T ├── mupen64plus-core ├── .gitattributes ├── .gitignore ├── .travis.yml ├── CREDITS ├── INSTALL ├── LICENSES ├── README ├── README.md ├── RELEASE ├── data │ ├── font.ttf │ ├── mupen64plus.ini │ └── mupencheat.txt ├── doc │ ├── emuwiki-api-doc │ │ ├── Home.mediawiki │ │ ├── Mupen64Plus-Core-Parameters.mediawiki │ │ ├── Mupen64Plus-Plugin-Parameters.mediawiki │ │ ├── Mupen64Plus-v2.0-API-Versioning.mediawiki │ │ ├── Mupen64Plus-v2.0-Core-API-v1.0.mediawiki │ │ ├── Mupen64Plus-v2.0-Core-Basic.mediawiki │ │ ├── Mupen64Plus-v2.0-Core-Config.mediawiki │ │ ├── Mupen64Plus-v2.0-Core-Debugger.mediawiki │ │ ├── Mupen64Plus-v2.0-Core-Front-End.mediawiki │ │ ├── Mupen64Plus-v2.0-Core-Video-Extension.mediawiki │ │ ├── Mupen64Plus-v2.0-Design-Proposal-3.mediawiki │ │ ├── Mupen64Plus-v2.0-Plugin-API.mediawiki │ │ └── Mupen64Plus-v2.0-headers.mediawiki │ ├── font-license │ ├── gpl-license │ ├── lgpl-license │ └── new_dynarec.mediawiki ├── projects │ ├── VisualStudio2013 │ │ ├── mupen64plus-core.vcxproj │ │ └── mupen64plus-core.vcxproj.filters │ └── unix │ │ └── Makefile ├── src │ ├── ai │ │ ├── ai_controller.c │ │ └── ai_controller.h │ ├── api │ │ ├── api_export.ver │ │ ├── callbacks.c │ │ ├── callbacks.h │ │ ├── common.c │ │ ├── config.c │ │ ├── config.h │ │ ├── debugger.c │ │ ├── debugger.h │ │ ├── frontend.c │ │ ├── m64p_common.h │ │ ├── m64p_config.h │ │ ├── m64p_debugger.h │ │ ├── m64p_frontend.h │ │ ├── m64p_plugin.h │ │ ├── m64p_types.h │ │ ├── m64p_vidext.h │ │ ├── vidext.c │ │ ├── vidext.h │ │ └── vidext_sdl2_compat.h │ ├── backends │ │ ├── audio_out_backend.c │ │ ├── audio_out_backend.h │ │ ├── clock_backend.c │ │ ├── clock_backend.h │ │ ├── controller_input_backend.c │ │ ├── controller_input_backend.h │ │ ├── rumble_backend.c │ │ ├── rumble_backend.h │ │ ├── storage_backend.c │ │ └── storage_backend.h │ ├── debugger │ │ ├── dbg_breakpoints.c │ │ ├── dbg_breakpoints.h │ │ ├── dbg_debugger.c │ │ ├── dbg_debugger.h │ │ ├── dbg_decoder.c │ │ ├── dbg_decoder.h │ │ ├── dbg_decoder_local.h │ │ ├── dbg_memory.c │ │ ├── dbg_memory.h │ │ └── dbg_types.h │ ├── main │ │ ├── cheat.c │ │ ├── cheat.h │ │ ├── device.c │ │ ├── device.h │ │ ├── eventloop.c │ │ ├── eventloop.h │ │ ├── lirc.c │ │ ├── lirc.h │ │ ├── list.h │ │ ├── main.c │ │ ├── main.h │ │ ├── md5.c │ │ ├── md5.h │ │ ├── profile.c │ │ ├── profile.h │ │ ├── rom.c │ │ ├── rom.h │ │ ├── savestates.c │ │ ├── savestates.h │ │ ├── sdl_key_converter.c │ │ ├── sdl_key_converter.h │ │ ├── storage_file.c │ │ ├── storage_file.h │ │ ├── util.c │ │ ├── util.h │ │ ├── version.h │ │ ├── workqueue.c │ │ ├── workqueue.h │ │ └── zip │ │ │ ├── crypt.h │ │ │ ├── ioapi.c │ │ │ ├── ioapi.h │ │ │ ├── unzip.c │ │ │ ├── unzip.h │ │ │ ├── zip.c │ │ │ └── zip.h │ ├── memory │ │ ├── memory.c │ │ └── memory.h │ ├── osal │ │ ├── dynamiclib.h │ │ ├── dynamiclib_unix.c │ │ ├── dynamiclib_win32.c │ │ ├── files.h │ │ ├── files_unix.c │ │ ├── files_win32.c │ │ └── preproc.h │ ├── osd │ │ ├── OGLFT.cpp │ │ ├── OGLFT.h │ │ ├── osd.cpp │ │ ├── osd.h │ │ ├── screenshot.cpp │ │ └── screenshot.h │ ├── pi │ │ ├── cart_rom.c │ │ ├── cart_rom.h │ │ ├── flashram.c │ │ ├── flashram.h │ │ ├── pi_controller.c │ │ ├── pi_controller.h │ │ ├── sram.c │ │ └── sram.h │ ├── plugin │ │ ├── dummy_audio.c │ │ ├── dummy_audio.h │ │ ├── dummy_input.c │ │ ├── dummy_input.h │ │ ├── dummy_rsp.c │ │ ├── dummy_rsp.h │ │ ├── dummy_video.c │ │ ├── dummy_video.h │ │ ├── emulate_game_controller_via_input_plugin.c │ │ ├── emulate_game_controller_via_input_plugin.h │ │ ├── emulate_speaker_via_audio_plugin.c │ │ ├── emulate_speaker_via_audio_plugin.h │ │ ├── get_time_using_C_localtime.c │ │ ├── get_time_using_C_localtime.h │ │ ├── plugin.c │ │ ├── plugin.h │ │ ├── rumble_via_input_plugin.c │ │ └── rumble_via_input_plugin.h │ ├── r4300 │ │ ├── cached_interp.c │ │ ├── cached_interp.h │ │ ├── cp0.c │ │ ├── cp0.h │ │ ├── cp0_private.h │ │ ├── cp1.c │ │ ├── cp1.h │ │ ├── cp1_private.h │ │ ├── empty_dynarec.c │ │ ├── exception.c │ │ ├── exception.h │ │ ├── fpu.h │ │ ├── instr_counters.c │ │ ├── instr_counters.h │ │ ├── interpreter.def │ │ ├── interpreter_cop0.def │ │ ├── interpreter_cop1.def │ │ ├── interpreter_r4300.def │ │ ├── interpreter_regimm.def │ │ ├── interpreter_special.def │ │ ├── interpreter_tlb.def │ │ ├── interupt.c │ │ ├── interupt.h │ │ ├── macros.h │ │ ├── mi_controller.c │ │ ├── mi_controller.h │ │ ├── new_dynarec │ │ │ ├── arm │ │ │ │ ├── arm_cpu_features.c │ │ │ │ ├── arm_cpu_features.h │ │ │ │ ├── assem_arm.c │ │ │ │ ├── assem_arm.h │ │ │ │ └── linkage_arm.S │ │ │ ├── arm64 │ │ │ │ ├── assem_arm64.c │ │ │ │ ├── assem_arm64.h │ │ │ │ └── linkage_arm64.S │ │ │ ├── new_dynarec.c │ │ │ ├── new_dynarec.h │ │ │ ├── new_dynarec_64.c │ │ │ └── x86 │ │ │ │ ├── assem_x86.c │ │ │ │ ├── assem_x86.h │ │ │ │ └── linkage_x86.asm │ │ ├── ops.h │ │ ├── pure_interp.c │ │ ├── pure_interp.h │ │ ├── r4300.c │ │ ├── r4300.h │ │ ├── r4300_core.c │ │ ├── r4300_core.h │ │ ├── recomp.c │ │ ├── recomp.h │ │ ├── recomph.h │ │ ├── reset.c │ │ ├── reset.h │ │ ├── tlb.c │ │ ├── tlb.h │ │ ├── x86 │ │ │ ├── assemble.c │ │ │ ├── assemble.h │ │ │ ├── assemble_struct.h │ │ │ ├── gbc.c │ │ │ ├── gcop0.c │ │ │ ├── gcop1.c │ │ │ ├── gcop1_d.c │ │ │ ├── gcop1_l.c │ │ │ ├── gcop1_s.c │ │ │ ├── gcop1_w.c │ │ │ ├── gr4300.c │ │ │ ├── gregimm.c │ │ │ ├── gspecial.c │ │ │ ├── gtlb.c │ │ │ ├── interpret.h │ │ │ ├── regcache.c │ │ │ ├── regcache.h │ │ │ └── rjump.c │ │ └── x86_64 │ │ │ ├── assemble.c │ │ │ ├── assemble.h │ │ │ ├── assemble_struct.h │ │ │ ├── dyna_start.asm │ │ │ ├── gbc.c │ │ │ ├── gcop0.c │ │ │ ├── gcop1.c │ │ │ ├── gcop1_d.c │ │ │ ├── gcop1_l.c │ │ │ ├── gcop1_s.c │ │ │ ├── gcop1_w.c │ │ │ ├── gr4300.c │ │ │ ├── gregimm.c │ │ │ ├── gspecial.c │ │ │ ├── gtlb.c │ │ │ ├── interpret.h │ │ │ ├── regcache.c │ │ │ ├── regcache.h │ │ │ └── rjump.c │ ├── rdp │ │ ├── fb.c │ │ ├── fb.h │ │ ├── rdp_core.c │ │ └── rdp_core.h │ ├── ri │ │ ├── rdram.c │ │ ├── rdram.h │ │ ├── rdram_detection_hack.c │ │ ├── rdram_detection_hack.h │ │ ├── ri_controller.c │ │ └── ri_controller.h │ ├── rsp │ │ ├── rsp_core.c │ │ └── rsp_core.h │ ├── si │ │ ├── af_rtc.c │ │ ├── af_rtc.h │ │ ├── cic.c │ │ ├── cic.h │ │ ├── eeprom.c │ │ ├── eeprom.h │ │ ├── game_controller.c │ │ ├── game_controller.h │ │ ├── mempak.c │ │ ├── mempak.h │ │ ├── n64_cic_nus_6105.c │ │ ├── n64_cic_nus_6105.h │ │ ├── pif.c │ │ ├── pif.h │ │ ├── rumblepak.c │ │ ├── rumblepak.h │ │ ├── si_controller.c │ │ └── si_controller.h │ └── vi │ │ ├── vi_controller.c │ │ └── vi_controller.h └── tools │ ├── build_bundle_bin.sh │ ├── build_bundle_src.sh │ ├── build_modules_src.sh │ ├── cheat_code_convert.py │ ├── gen_sdl_key_converter.c │ ├── install_binary_bundle.sh │ ├── joymodel.c │ ├── joymodel.png │ ├── m64p_helper_scripts.tar.gz │ ├── osx_build_bundle.sh │ ├── osx_build_instructions.txt │ ├── profiling.txt │ ├── r4300prof.c │ ├── regtests │ ├── daily-tests.cfg │ └── regression-video.py │ ├── savestate_convert.c │ ├── savestate_convert.txt │ └── uninstall_binary_bundle.sh ├── mupen64plus-rsp-cxd4 ├── COPYING ├── README.md ├── make.sh ├── make_w32.cmd ├── make_w64.cmd ├── module.c ├── module.h ├── my_types.h ├── osal_dynamiclib.h ├── osal_dynamiclib_unix.c ├── osal_dynamiclib_win32.c ├── projects │ ├── VisualStudio2013 │ │ ├── mupen64plus-rsp-cxd4.vcxproj │ │ └── mupen64plus-rsp-cxd4.vcxproj.filters │ └── unix │ │ └── Makefile ├── rsp.h ├── rsp_api_export.ver ├── su.c ├── su.h └── vu │ ├── add.c │ ├── add.h │ ├── divide.c │ ├── divide.h │ ├── logical.c │ ├── logical.h │ ├── multiply.c │ ├── multiply.h │ ├── pack.h │ ├── select.c │ ├── select.h │ ├── vu.c │ └── vu.h ├── mupen64plus-rsp-hle ├── .gitattributes ├── .gitignore ├── .travis.yml ├── INSTALL ├── LICENSES ├── RELEASE ├── projects │ ├── VisualStudio2013 │ │ └── mupen64plus-rsp-hle.vcxproj │ └── unix │ │ └── Makefile └── src │ ├── alist.c │ ├── alist.h │ ├── alist_audio.c │ ├── alist_naudio.c │ ├── alist_nead.c │ ├── arithmetics.h │ ├── audio.c │ ├── audio.h │ ├── cicx105.c │ ├── common.h │ ├── hle.c │ ├── hle.h │ ├── hle_external.h │ ├── hle_internal.h │ ├── jpeg.c │ ├── memory.c │ ├── memory.h │ ├── mp3.c │ ├── musyx.c │ ├── plugin.c │ ├── re2.c │ ├── rsp_api_export.ver │ └── ucodes.h ├── switch └── mman.h └── xxHash ├── xxhash.c └── xxhash.h /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.dll 3 | *.dylib 4 | *libretro*.lib 5 | *libretro*.so 6 | *libretro*.a 7 | *.d 8 | *.js 9 | *.bc 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: generic 2 | os: linux 3 | dist: trusty 4 | sudo: required 5 | addons: 6 | apt: 7 | packages: 8 | - g++-7 9 | sources: 10 | - ubuntu-toolchain-r-test 11 | env: 12 | global: 13 | - CORE=mupen64plus 14 | - COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7 15 | matrix: 16 | - PLATFORM=linux_x64 17 | before_script: 18 | - pwd 19 | - mkdir -p ~/bin 20 | - ln -s /usr/bin/gcc-7 ~/bin/gcc 21 | - ln -s /usr/bin/g++-7 ~/bin/g++ 22 | - ln -s /usr/bin/cpp-7 ~/bin/cpp 23 | - export PATH=~/bin:$PATH 24 | - ls -l ~/bin 25 | - echo $PATH 26 | - g++-7 --version 27 | - g++ --version 28 | script: 29 | - cd ~/ 30 | - git clone --depth=50 https://github.com/libretro/libretro-super 31 | - cd libretro-super/travis 32 | - ./build.sh 33 | -------------------------------------------------------------------------------- /BUILDING.md: -------------------------------------------------------------------------------- 1 | ### Getting the code 2 | 3 | clone this repository, for instance: 4 | 5 | ```git clone --depth=1 https://github.com/libretro/mupen64plus-libretro.git``` 6 | 7 | ### Building the project 8 | 9 | Compiling the project: 10 | 11 | ```make -j4``` 12 | 13 | Or if you are using a Raspberry Pi: 14 | 15 | Rpi2: 16 | ```platform=rpi2 make -j4``` 17 | 18 | Rpi3: 19 | ```platform=rpi3 make -j4``` 20 | 21 | That will create a file named **mupen64plus_libretro.so** 22 | 23 | ### Building for Windows (64-bit only) 24 | 25 | The only supported way to build this core for Windows is cross-compiling it from Linux. You may be able to compile it on Windows using something like MSYS2, but I haven't tried. 26 | 27 | On Fedora, make sure you have these packages installed: ```mingw64-gcc-c++ mingw64-zlib``` 28 | 29 | Then run ```platform=win make -j4``` 30 | 31 | That will create a file named **mupen64plus_libretro.dll** 32 | -------------------------------------------------------------------------------- /GLideN64/.gitignore: -------------------------------------------------------------------------------- 1 | backup/ 2 | Debug*/ 3 | Release*/ 4 | build*/ 5 | Roms/ 6 | *.ncb 7 | *.suo 8 | *.sdf 9 | *.user -------------------------------------------------------------------------------- /GLideN64/README.md: -------------------------------------------------------------------------------- 1 | GLideN64 2 | ======== 3 | 4 | A new generation, open-source graphics plugin for N64 emulators. 5 | -------------------------------------------------------------------------------- /GLideN64/ini/GLideN64.ini: -------------------------------------------------------------------------------- 1 | [General] 2 | version=7 3 | 4 | [video] 5 | fullscreenWidth=640 6 | fullscreenHeight=480 7 | windowedWidth=640 8 | windowedHeight=480 9 | fullscreenRefresh=60 10 | multisampling=0 11 | 12 | [texture] 13 | maxAnisotropy=0 14 | bilinearMode=1 15 | maxBytes=524288000 16 | screenShotFormat=0 17 | 18 | [generalEmulation] 19 | enableFog=1 20 | enableNoise=1 21 | enableLOD=1 22 | enableHWLighting=0 23 | enableCustomSettings=1 24 | 25 | [frameBufferEmulation] 26 | enable=1 27 | copyToRDRAM=2 28 | copyDepthToRDRAM=0 29 | copyFromRDRAM=0 30 | detectCFB=0 31 | N64DepthCompare=0 32 | aspect=1 33 | 34 | [textureFilter] 35 | txFilterMode=0 36 | txEnhancementMode=0 37 | txFilterIgnoreBG=0 38 | txCacheSize=104857600 39 | txHiresEnable=0 40 | txHiresFullAlphaChannel=0 41 | txHresAltCRC=0 42 | txDump=0 43 | txForce16bpp=0 44 | txCacheCompression=1 45 | txSaveCache=1 46 | 47 | [font] 48 | name=arial.ttf 49 | size=18 50 | color=@Variant(\0\0\0\x43\x1\xff\xff\xb5\xb5\xe6\xe6\x1d\x1d\0\0) 51 | 52 | [bloomFilter] 53 | enable=0 54 | thresholdLevel=4 55 | blendMode=0 56 | blurAmount=10 57 | blurStrength=20 58 | -------------------------------------------------------------------------------- /GLideN64/licenses/Glow/LICENSE: -------------------------------------------------------------------------------- 1 | Nutty Software Open WebGL Framework 2 | 3 | Copyright (C) 2012 Nathaniel Meyer 4 | Nutty Software, http://www.nutty.ca 5 | All Rights Reserved. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | this software and associated documentation files (the "Software"), to deal in 9 | the Software without restriction, including without limitation the rights to 10 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 11 | of the Software, and to permit persons to whom the Software is furnished to do 12 | so, subject to the following conditions: 13 | 1. The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 2. Redistributions in binary or minimized form must reproduce the above copyright 16 | notice and this list of conditions in the documentation and/or other materials 17 | provided with the distribution. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. -------------------------------------------------------------------------------- /GLideN64/projects/cmake/Readme.txt: -------------------------------------------------------------------------------- 1 | cmake project files located inside src folder. To build the project with cmake, run 2 | 3 | cmake [-DCMAKE_BUILD_TYPE=Debug] [-DVEC4_OPT=On] [-DCRC_OPT=On] [-DNEON_OPT=On] [-DNOHQ=On] [-DUSE_UNIFORMBLOCK=On] -DMUPENPLUSAPI=On ../../src/ 4 | 5 | -DCMAKE_BUILD_TYPE=Debug - optional parameter, if you want debug build. Default buid type is Release 6 | -DVEC4_OPT=On - optional parameter. set it if you want to enable additional VEC4 optimization (can cause additional bugs). 7 | -DCRC_ARMV8=On - optional parameter. set it if you want to enable armv8 hardware CRC. 8 | -DNEON_OPT=On - optional parameter. set it if you want to enable additional ARM NEON optimization (can cause additional bugs). 9 | -DNOHQ=On - build without realtime texture enhancer library (GLideNHQ). 10 | -DUSE_UNIFORMBLOCK=On - Use uniform blocks in shaders. May help to improve performance. Not supported by GLES2 hardware. 11 | -DMUPENPLUSAPI=On - currently cmake build works only for mupen64plus version of the plugin. 12 | -------------------------------------------------------------------------------- /GLideN64/projects/msvc12/osal.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /GLideN64/src/BufferCopy/ColorBufferToRDRAMStub.h: -------------------------------------------------------------------------------- 1 | #include "ColorBufferToRDRAM.h" 2 | 3 | class ColorBufferToRDRAMStub : public ColorBufferToRDRAM 4 | { 5 | public: 6 | ColorBufferToRDRAMStub() : ColorBufferToRDRAM() {} 7 | ~ColorBufferToRDRAMStub() {}; 8 | 9 | private: 10 | void _init() override {} 11 | void _initBuffers() override {} 12 | void _destroyBuffers(void) override {} 13 | bool _readPixels(GLint _x0, GLint _y0, GLsizei _width, GLsizei _height, u32 _size, bool _sync) override {} 14 | void _cleanUp() override {} 15 | }; 16 | -------------------------------------------------------------------------------- /GLideN64/src/BufferCopy/ColorBufferToRDRAM_BufferStorageExt.h: -------------------------------------------------------------------------------- 1 | #include "ColorBufferToRDRAM.h" 2 | 3 | #include "inc/ARB_buffer_storage.h" 4 | 5 | 6 | class ColorBufferToRDRAM_BufferStorageExt : public ColorBufferToRDRAM 7 | { 8 | public: 9 | ColorBufferToRDRAM_BufferStorageExt(); 10 | ~ColorBufferToRDRAM_BufferStorageExt() = default; 11 | 12 | private: 13 | bool _readPixels(GLint _x0, GLint _y0, GLsizei _width, GLsizei _height, u32 _size, bool _sync) override; 14 | void _cleanUp() override; 15 | void _init(void) override; 16 | void _initBuffers(void) override; 17 | virtual void _destroyBuffers(void) override; 18 | static const int _numPBO = 2; 19 | GLuint m_PBO[_numPBO]; 20 | void* m_PBOData[_numPBO]; 21 | u32 m_curIndex; 22 | GLsync m_fence[_numPBO]; 23 | #ifdef GLESX 24 | PFNGLBUFFERSTORAGEPROC glBufferStorage; 25 | #endif 26 | }; 27 | -------------------------------------------------------------------------------- /GLideN64/src/BufferCopy/ColorBufferToRDRAM_GL.h: -------------------------------------------------------------------------------- 1 | #include "ColorBufferToRDRAM.h" 2 | 3 | #include 4 | #include 5 | 6 | class ColorBufferToRDRAM_GL : public ColorBufferToRDRAM 7 | { 8 | public: 9 | ColorBufferToRDRAM_GL(); 10 | ~ColorBufferToRDRAM_GL() {}; 11 | 12 | private: 13 | void _init() override; 14 | void _destroyBuffers() override; 15 | bool _readPixels(GLint _x0, GLint _y0, GLsizei _width, GLsizei _height, u32 _size, bool _sync) override; 16 | void _cleanUp() override; 17 | void _initBuffers(void) override; 18 | static const int _numPBO = 3; 19 | GLuint m_PBO[_numPBO]; 20 | u32 m_curIndex; 21 | }; 22 | -------------------------------------------------------------------------------- /GLideN64/src/BufferCopy/DepthBufferToRDRAM.h: -------------------------------------------------------------------------------- 1 | #ifndef DepthBufferToRDRAM_H 2 | #define DepthBufferToRDRAM_H 3 | 4 | #include 5 | 6 | struct CachedTexture; 7 | struct DepthBuffer; 8 | 9 | class DepthBufferToRDRAM 10 | { 11 | public: 12 | void init(); 13 | void destroy(); 14 | 15 | bool copyToRDRAM(u32 _address); 16 | bool copyChunkToRDRAM(u32 _address); 17 | 18 | static DepthBufferToRDRAM & get(); 19 | 20 | private: 21 | DepthBufferToRDRAM(); 22 | ~DepthBufferToRDRAM(); 23 | 24 | bool _prepareCopy(u32 _address, bool _copyChunk); 25 | bool _copy(u32 _startAddress, u32 _endAddress); 26 | 27 | // Convert pixel from video memory to N64 depth buffer format. 28 | static u16 _FloatToUInt16(f32 _z); 29 | 30 | GLuint m_FBO; 31 | GLuint m_PBO; 32 | u32 m_frameCount; 33 | CachedTexture * m_pColorTexture; 34 | CachedTexture * m_pDepthTexture; 35 | DepthBuffer * m_pCurDepthBuffer; 36 | }; 37 | 38 | #endif // DepthBufferToRDRAM_H 39 | -------------------------------------------------------------------------------- /GLideN64/src/BufferCopy/RDRAMtoColorBuffer.h: -------------------------------------------------------------------------------- 1 | #ifndef RDRAMtoColorBuffer_H 2 | #define RDRAMtoColorBuffer_H 3 | 4 | #include 5 | #include 6 | 7 | struct CachedTexture; 8 | struct FrameBuffer; 9 | 10 | class RDRAMtoColorBuffer 11 | { 12 | public: 13 | void init(); 14 | void destroy(); 15 | 16 | void addAddress(u32 _address, u32 _size); 17 | void copyFromRDRAM(u32 _address, bool _bCFB); 18 | 19 | static RDRAMtoColorBuffer & get(); 20 | 21 | private: 22 | RDRAMtoColorBuffer(); 23 | RDRAMtoColorBuffer(const RDRAMtoColorBuffer &); 24 | 25 | void reset(); 26 | 27 | class Cleaner 28 | { 29 | public: 30 | Cleaner(RDRAMtoColorBuffer * _p) : m_p(_p) {} 31 | ~Cleaner() 32 | { 33 | m_p->reset(); 34 | } 35 | private: 36 | RDRAMtoColorBuffer * m_p; 37 | }; 38 | 39 | FrameBuffer * m_pCurBuffer; 40 | CachedTexture * m_pTexture; 41 | std::vector m_vecAddress; 42 | }; 43 | 44 | #endif // RDRAMtoColorBuffer_H 45 | -------------------------------------------------------------------------------- /GLideN64/src/BufferCopy/WriteToRDRAM.h: -------------------------------------------------------------------------------- 1 | #ifndef WriteToRDRAM_H 2 | #define WriteToRDRAM_H 3 | 4 | 5 | #include "../Types.h" 6 | 7 | template 8 | void writeToRdram(TSrc* _src, TDst* _dst, TDst(*converter)(TSrc _c), TSrc _testValue, u32 _xor, u32 _width, u32 _height, u32 _numPixels, u32 _startAddress, u32 _bufferAddress, u32 _bufferSize) 9 | { 10 | u32 chunkStart = ((_startAddress - _bufferAddress) >> (_bufferSize - 1)) % _width; 11 | if (chunkStart % 2 != 0) { 12 | --chunkStart; 13 | --_dst; 14 | ++_numPixels; 15 | } 16 | 17 | u32 numStored = 0; 18 | u32 y = 0; 19 | TSrc c; 20 | if (chunkStart > 0) { 21 | for (u32 x = chunkStart; x < _width; ++x) { 22 | c = _src[x + (_height - 1)*_width]; 23 | if (c != _testValue) 24 | _dst[numStored ^ _xor] = converter(c); 25 | ++numStored; 26 | } 27 | ++y; 28 | _dst += numStored; 29 | } 30 | 31 | u32 dsty = 0; 32 | for (; y < _height; ++y) { 33 | for (u32 x = 0; x < _width && numStored < _numPixels; ++x) { 34 | c = _src[x + (_height - y - 1)*_width]; 35 | if (c != _testValue) 36 | _dst[(x + dsty*_width) ^ _xor] = converter(c); 37 | ++numStored; 38 | } 39 | ++dsty; 40 | } 41 | } 42 | 43 | #endif // WriteToRDRAM_H 44 | -------------------------------------------------------------------------------- /GLideN64/src/CRC.h: -------------------------------------------------------------------------------- 1 | #include "Types.h" 2 | 3 | void CRC_Init(); 4 | 5 | u32 CRC_Calculate_Strict( u32 crc, const void *buffer, u32 count ); 6 | u32 CRC_Calculate( u32 crc, const void *buffer, u32 count ); 7 | u32 CRC_CalculatePalette( u32 crc, const void *buffer, u32 count ); 8 | -------------------------------------------------------------------------------- /GLideN64/src/CRC32.cpp: -------------------------------------------------------------------------------- 1 | #include "CRC.h" 2 | 3 | #define CRC32_POLYNOMIAL 0x04C11DB7 4 | 5 | unsigned int CRCTable[ 256 ]; 6 | 7 | static 8 | u32 Reflect( u32 ref, char ch ) 9 | { 10 | u32 value = 0; 11 | 12 | // Swap bit 0 for bit 7 13 | // bit 1 for bit 6, etc. 14 | for (int i = 1; i < (ch + 1); ++i) { 15 | if(ref & 1) 16 | value |= 1 << (ch - i); 17 | ref >>= 1; 18 | } 19 | return value; 20 | } 21 | 22 | void CRC_Init() 23 | { 24 | u32 crc; 25 | 26 | for (int i = 0; i < 256; ++i) { 27 | crc = Reflect( i, 8 ) << 24; 28 | for (int j = 0; j < 8; ++j) 29 | crc = (crc << 1) ^ (crc & (1 << 31) ? CRC32_POLYNOMIAL : 0); 30 | 31 | CRCTable[i] = Reflect( crc, 32 ); 32 | } 33 | } 34 | 35 | u32 CRC_Calculate( u32 crc, const void * buffer, u32 count ) 36 | { 37 | u8 *p; 38 | u32 orig = crc; 39 | 40 | p = (u8*) buffer; 41 | while (count--) 42 | crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++]; 43 | 44 | return crc ^ orig; 45 | } 46 | 47 | u32 CRC_Calculate_Strict( u32 crc, const void * buffer, u32 count ) 48 | { 49 | return CRC_Calculate(crc, buffer, count); 50 | } 51 | 52 | u32 CRC_CalculatePalette(u32 crc, const void * buffer, u32 count ) 53 | { 54 | u8 *p; 55 | u32 orig = crc; 56 | 57 | p = (u8*) buffer; 58 | while (count--) { 59 | crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++]; 60 | crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++]; 61 | 62 | p += 6; 63 | } 64 | 65 | return crc ^ orig; 66 | } 67 | -------------------------------------------------------------------------------- /GLideN64/src/CRC32_ARMV8.cpp: -------------------------------------------------------------------------------- 1 | #include "CRC.h" 2 | #include 3 | 4 | void CRC_Init() 5 | { 6 | } 7 | 8 | u32 CRC_Calculate( u32 crc, const void * buffer, u32 count ) 9 | { 10 | u8 *p; 11 | u32 orig = crc; 12 | 13 | p = (u8*) buffer; 14 | 15 | // use eight byte crc intrinsic __crc32d if count is high enough. 16 | // __crc32d, __crc32w, __crc32h and __crc32b use polynomial 0x04C11DB7 17 | while (count >= 8) { 18 | crc = __crc32d(crc, *((u64*)p)); 19 | p += 8; 20 | count -= 8; 21 | } 22 | if (count >= 4) { 23 | crc = __crc32w(crc, *((u32*)p)); 24 | p += 4; 25 | count -= 4; 26 | } 27 | if (count >= 2) { 28 | crc = __crc32h(crc, *((u16*)p)); 29 | p += 2; 30 | count -= 2; 31 | } 32 | if (count == 1) 33 | crc = __crc32b(crc, *p); 34 | 35 | return crc ^ orig; 36 | } 37 | 38 | u32 CRC_Calculate_Strict( u32 crc, const void * buffer, u32 count ) 39 | { 40 | return CRC_Calculate(crc, buffer, count); 41 | } 42 | 43 | u32 CRC_CalculatePalette(u32 crc, const void * buffer, u32 count ) 44 | { 45 | u8 *p; 46 | u32 orig = crc; 47 | 48 | p = (u8*) buffer; 49 | while (count--) { 50 | // use two byte intrinsic __crc32h 51 | crc = __crc32h(crc, *((u16*)p)); 52 | p += 8; 53 | } 54 | 55 | return crc ^ orig; 56 | } 57 | -------------------------------------------------------------------------------- /GLideN64/src/CommonPluginAPI.cpp: -------------------------------------------------------------------------------- 1 | #ifdef OS_WINDOWS 2 | # include 3 | #else 4 | # include "winlnxdefs.h" 5 | #endif // OS_WINDOWS 6 | 7 | #include "PluginAPI.h" 8 | 9 | extern "C" { 10 | 11 | EXPORT BOOL CALL InitiateGFX (GFX_INFO Gfx_Info) 12 | { 13 | return api().InitiateGFX(Gfx_Info); 14 | } 15 | 16 | EXPORT void CALL MoveScreen (int xpos, int ypos) 17 | { 18 | api().MoveScreen(xpos, ypos); 19 | } 20 | 21 | EXPORT void CALL ProcessDList(void) 22 | { 23 | api().ProcessDList(); 24 | } 25 | 26 | EXPORT void CALL ProcessRDPList(void) 27 | { 28 | api().ProcessRDPList(); 29 | } 30 | 31 | EXPORT void CALL RomClosed (void) 32 | { 33 | api().RomClosed(); 34 | } 35 | 36 | EXPORT void CALL ShowCFB (void) 37 | { 38 | api().ShowCFB(); 39 | } 40 | 41 | EXPORT void CALL UpdateScreen (void) 42 | { 43 | api().UpdateScreen(); 44 | } 45 | 46 | EXPORT void CALL ViStatusChanged (void) 47 | { 48 | api().ViStatusChanged(); 49 | } 50 | 51 | EXPORT void CALL ViWidthChanged (void) 52 | { 53 | api().ViWidthChanged(); 54 | } 55 | 56 | EXPORT void CALL ChangeWindow(void) 57 | { 58 | api().ChangeWindow(); 59 | } 60 | 61 | EXPORT void CALL FBWrite(unsigned int addr, unsigned int size) 62 | { 63 | api().FBWrite(addr, size); 64 | } 65 | 66 | EXPORT void CALL FBRead(unsigned int addr) 67 | { 68 | api().FBRead(addr); 69 | } 70 | 71 | EXPORT void CALL FBGetFrameBufferInfo(void *pinfo) 72 | { 73 | api().FBGetFrameBufferInfo(pinfo); 74 | } 75 | 76 | #ifndef MUPENPLUSAPI 77 | EXPORT void CALL FBWList(FrameBufferModifyEntry *plist, unsigned int size) 78 | { 79 | api().FBWList(plist, size); 80 | } 81 | #endif 82 | } 83 | -------------------------------------------------------------------------------- /GLideN64/src/Debug.h: -------------------------------------------------------------------------------- 1 | #ifndef DEBUG_H 2 | #define DEBUG_H 3 | 4 | // TODO Debug log. 5 | #define DebugMsg(A, ...) 6 | #define DebugRSPState(A, ...) 7 | 8 | #endif // DEBUG_H 9 | -------------------------------------------------------------------------------- /GLideN64/src/DepthBufferRender/ClipPolygon.h: -------------------------------------------------------------------------------- 1 | #ifndef CLIP_POLYGON_H 2 | #define CLIP_POLYGON_H 3 | 4 | #define VISIBLE 0 5 | #define LEFT 1 6 | #define RIGHT 2 7 | #define TOP 4 8 | #define BOT 8 9 | 10 | struct vertexclip 11 | { 12 | float x,y,z; 13 | int visible; 14 | }; 15 | 16 | /* 17 | * vbp is a pointer to a vertex array. The first 3 vertices in that 18 | * array is our source vertices. The rest of the array will be used 19 | * to hold new vertices created during clipping. 20 | * 21 | * you can then access the new vertices using the *final variable 22 | * 23 | * function returns the number of vertices in the resulting polygon 24 | */ 25 | int ClipPolygon(vertexclip *** final, vertexclip * vbp, int numVertices); 26 | 27 | #endif // CLIP_POLYGON_H 28 | -------------------------------------------------------------------------------- /GLideN64/src/DepthBufferRender/DepthBufferRender.h: -------------------------------------------------------------------------------- 1 | //**************************************************************** 2 | // 3 | // Software rendering to N64 depth buffer 4 | // Created by Gonetz, Dec 2004 5 | // 6 | //**************************************************************** 7 | 8 | #ifndef DEPTH_BUFFER_RENDER_H 9 | #define DEPTH_BUFFER_RENDER_H 10 | 11 | struct vertexi 12 | { 13 | int x, y; // Screen position in 16:16 bit fixed point 14 | int z; // z value in 16:16 bit fixed point 15 | }; 16 | 17 | void Rasterize(vertexi * vtx, int vertices, int dzdx); 18 | 19 | #endif //DEPTH_BUFFER_RENDER_H 20 | -------------------------------------------------------------------------------- /GLideN64/src/F3DBETA.h: -------------------------------------------------------------------------------- 1 | #ifndef F3DBETA_H 2 | #define F3DBETA_H 3 | 4 | #define F3DBETA_TRI2 0xB1 5 | void F3DBETA_Init(); 6 | 7 | #endif 8 | 9 | -------------------------------------------------------------------------------- /GLideN64/src/F3DDKR.h: -------------------------------------------------------------------------------- 1 | #ifndef F3DDKR_H 2 | #define F3DDKR_H 3 | 4 | #define F3DDKR_VTX_APPEND 0x00010000 5 | 6 | #define F3DDKR_DMA_MTX 0x01 7 | #define F3DDKR_DMA_TEX_OFFSET 0x02 8 | #define F3DDKR_DMA_VTX 0x04 9 | #define F3DDKR_DMA_TRI 0x05 10 | #define F3DDKR_DMA_DL 0x07 11 | #define F3DDKR_DMA_OFFSETS 0xBF 12 | 13 | void F3DDKR_Init(); 14 | void F3DJFG_Init(); 15 | #endif 16 | 17 | -------------------------------------------------------------------------------- /GLideN64/src/F3DEX2CBFD.h: -------------------------------------------------------------------------------- 1 | #ifndef F3DEX2CBFD_H 2 | #define F3DEX2CBFD_H 3 | 4 | #define F3DEX2CBFD_TRI4 16 5 | 6 | void F3DEX2CBFD_Init(); 7 | 8 | #endif // F3DEX2CBFD_H 9 | -------------------------------------------------------------------------------- /GLideN64/src/F3DEX2MM.h: -------------------------------------------------------------------------------- 1 | #ifndef F3DEX2MM_H 2 | #define F3DEX2MM_H 3 | 4 | void F3DEX2MM_Init(); 5 | 6 | #endif // F3DEX2M_H 7 | -------------------------------------------------------------------------------- /GLideN64/src/F3DGOLDEN.h: -------------------------------------------------------------------------------- 1 | #ifndef F3DGOLDEN_H 2 | #define F3DGOLDEN_H 3 | 4 | #define F3D_TRIX 0xB1 5 | 6 | void F3DGOLDEN_Init(); 7 | 8 | void F3D_TriX(u32 w0, u32 w1); 9 | 10 | #endif 11 | 12 | -------------------------------------------------------------------------------- /GLideN64/src/F3DPD.h: -------------------------------------------------------------------------------- 1 | #ifndef F3DPD_H 2 | #define F3DPD_H 3 | 4 | void F3DPD_Init(); 5 | 6 | #endif 7 | 8 | -------------------------------------------------------------------------------- /GLideN64/src/F3DSETA.h: -------------------------------------------------------------------------------- 1 | #ifndef F3DSETA_H 2 | #define F3DSETA_H 3 | 4 | void F3DSETA_Init(); 5 | 6 | #endif 7 | 8 | -------------------------------------------------------------------------------- /GLideN64/src/FBOTextureFormats.h: -------------------------------------------------------------------------------- 1 | #ifndef FBOTEXTUREFORMATS_H 2 | #define FBOTEXTUREFORMATS_H 3 | 4 | #include "OpenGL.h" 5 | 6 | struct FBOTextureFormats 7 | { 8 | GLint colorInternalFormat; 9 | GLenum colorFormat; 10 | GLenum colorType; 11 | u32 colorFormatBytes; 12 | 13 | GLint monochromeInternalFormat; 14 | GLenum monochromeFormat; 15 | GLenum monochromeType; 16 | u32 monochromeFormatBytes; 17 | 18 | GLint depthInternalFormat; 19 | GLenum depthFormat; 20 | GLenum depthType; 21 | u32 depthFormatBytes; 22 | 23 | GLint depthImageInternalFormat; 24 | GLenum depthImageFormat; 25 | GLenum depthImageType; 26 | u32 depthImageFormatBytes; 27 | 28 | GLint lutInternalFormat; 29 | GLenum lutFormat; 30 | GLenum lutType; 31 | u32 lutFormatBytes; 32 | 33 | void init(); 34 | }; 35 | 36 | extern FBOTextureFormats fboFormats; 37 | 38 | #endif // FBOTEXTUREFORMATS_H 39 | -------------------------------------------------------------------------------- /GLideN64/src/FrameBufferEmulationIssues.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/FrameBufferEmulationIssues.txt -------------------------------------------------------------------------------- /GLideN64/src/FrameBufferInfo.h: -------------------------------------------------------------------------------- 1 | #ifndef _FRAME_BUFFER_INFO_H_ 2 | #define _FRAME_BUFFER_INFO_H_ 3 | 4 | #ifdef OS_WINDOWS 5 | # include 6 | #else 7 | # include "winlnxdefs.h" 8 | #endif // OS_WINDOWS 9 | 10 | #include "Types.h" 11 | #include "PluginAPI.h" 12 | 13 | struct FrameBuffer; 14 | 15 | namespace FBInfo { 16 | 17 | struct FrameBufferInfo 18 | { 19 | unsigned int addr; 20 | unsigned int size; 21 | unsigned int width; 22 | unsigned int height; 23 | }; 24 | 25 | struct FrameBufferModifyEntry 26 | { 27 | unsigned int addr; 28 | unsigned int val; 29 | unsigned int size; 30 | }; 31 | 32 | class FBInfo { 33 | public: 34 | FBInfo(); 35 | 36 | void Write(u32 addr, u32 size); 37 | 38 | void WriteList(FrameBufferModifyEntry *plist, u32 size); 39 | 40 | void Read(u32 addr); 41 | 42 | void GetInfo(void *pinfo); 43 | 44 | bool isSupported() const { return m_supported; } 45 | 46 | void reset(); 47 | 48 | private: 49 | const FrameBuffer * m_pWriteBuffer; 50 | const FrameBuffer * m_pReadBuffer; 51 | bool m_supported; 52 | }; 53 | 54 | extern FBInfo fbInfo; 55 | } 56 | 57 | #endif // _FRAME_BUFFER_INFO_H_ 58 | -------------------------------------------------------------------------------- /GLideN64/src/GLideN64.cpp: -------------------------------------------------------------------------------- 1 | char pluginName[] = "GLideN64"; 2 | wchar_t pluginNameW[] = L"GLideN64"; 3 | void (*CheckInterrupts)( void ); 4 | -------------------------------------------------------------------------------- /GLideN64/src/GLideN64.h: -------------------------------------------------------------------------------- 1 | #ifndef GLIDEN64_H 2 | #define GLIDEN64_H 3 | 4 | extern char pluginName[]; 5 | extern wchar_t pluginNameW[]; 6 | extern void (*CheckInterrupts)( void ); 7 | 8 | #endif // GLIDEN64_H 9 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/TextureFilters_xbrz.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNHQ/TextureFilters_xbrz.cpp -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/TxReSample.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Texture Filtering 3 | * Version: 1.0 4 | * 5 | * Copyright (C) 2007 Hiroshi Morii All Rights Reserved. 6 | * Email koolsmoky(at)users.sourceforge.net 7 | * Web http://www.3dfxzone.it/koolsmoky 8 | * 9 | * this is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2, or (at your option) 12 | * any later version. 13 | * 14 | * this is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with GNU Make; see the file COPYING. If not, write to 21 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 22 | */ 23 | 24 | #ifndef __TXRESAMPLE_H__ 25 | #define __TXRESAMPLE_H__ 26 | 27 | #include "TxInternal.h" 28 | 29 | class TxReSample 30 | { 31 | private: 32 | double tent(double x); 33 | double gaussian(double x); 34 | double sinc(double x); 35 | double lanczos3(double x); 36 | double mitchell(double x); 37 | double besselI0(double x); 38 | double kaiser(double x); 39 | public: 40 | boolean minify(uint8 **src, int *width, int *height, int ratio); 41 | boolean nextPow2(uint8** image, int* width, int* height, int bpp, boolean use_3dfx); 42 | int nextPow2(int num); 43 | }; 44 | 45 | #endif /* __TXRESAMPLE_H__ */ 46 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/TxTexCache.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Texture Filtering 3 | * Version: 1.0 4 | * 5 | * Copyright (C) 2007 Hiroshi Morii All Rights Reserved. 6 | * Email koolsmoky(at)users.sourceforge.net 7 | * Web http://www.3dfxzone.it/koolsmoky 8 | * 9 | * this is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2, or (at your option) 12 | * any later version. 13 | * 14 | * this is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with GNU Make; see the file COPYING. If not, write to 21 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 22 | */ 23 | 24 | #ifndef __TXTEXCACHE_H__ 25 | #define __TXTEXCACHE_H__ 26 | 27 | #include "TxCache.h" 28 | 29 | class TxTexCache : public TxCache 30 | { 31 | public: 32 | ~TxTexCache(); 33 | TxTexCache(int options, int cachesize, const wchar_t *path, const wchar_t *ident, 34 | dispInfoFuncExt callback); 35 | boolean add(uint64 checksum, /* checksum hi:palette low:texture */ 36 | GHQTexInfo *info); 37 | }; 38 | 39 | #endif /* __TXTEXCACHE_H__ */ 40 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/bldno.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | int main (void) 6 | { 7 | struct tm locTime; 8 | time_t sysTime; 9 | char *build; 10 | 11 | time(&sysTime); 12 | locTime = *localtime(&sysTime); 13 | 14 | if ((build = getenv("BUILD_NUMBER")) != NULL) { 15 | printf("#define BUILD_NUMBER %s\n", build); 16 | printf("#define BUILD_NUMBER_STR \"%s\"\n", build); 17 | } else { 18 | unsigned short magic; 19 | magic = (locTime.tm_yday << 7) | 20 | (locTime.tm_hour << 2) | 21 | (locTime.tm_min / 15); 22 | printf("#define BUILD_NUMBER %d\n", magic); 23 | printf("#define BUILD_NUMBER_STR \"%d\"\n", magic); 24 | } 25 | 26 | return 0; 27 | } 28 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/bldno.h: -------------------------------------------------------------------------------- 1 | #define BUILD_NUMBER 13480 2 | #define BUILD_NUMBER_STR "13480" 3 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/lib/libdxtn.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNHQ/lib/libdxtn.a -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/lib/libpng.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNHQ/lib/libpng.a -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/lib/libpng.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNHQ/lib/libpng.lib -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/lib/libpngd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNHQ/lib/libpngd.lib -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/lib/libz.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNHQ/lib/libz.a -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/lib/zlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNHQ/lib/zlib.lib -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/lib/zlibd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNHQ/lib/zlibd.lib -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.6) 2 | 3 | project( test_hq ) 4 | 5 | # Build type 6 | 7 | if( NOT CMAKE_BUILD_TYPE) 8 | set( CMAKE_BUILD_TYPE Release) 9 | endif( NOT CMAKE_BUILD_TYPE) 10 | 11 | if( CMAKE_BUILD_TYPE STREQUAL "Debug") 12 | set( CMAKE_BUILD_TYPE Debug) 13 | set( DEBUG_BUILD TRUE) 14 | add_definitions( 15 | -DDEBUG 16 | ) 17 | endif( CMAKE_BUILD_TYPE STREQUAL "Debug") 18 | 19 | add_definitions( 20 | -DGHQCHK=1 21 | -DTXFILTER_DLL=1 22 | ) 23 | 24 | if(WIN32) 25 | add_definitions( 26 | -DWIN32 27 | -DOS_WINDOWS 28 | ) 29 | endif(WIN32) 30 | 31 | #SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_CPP11_COMPILE_FLAGS}" ) 32 | 33 | add_executable( test_hq test.cpp ../Ext_TxFilter.cpp ) 34 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNHQ/txWidestringWrapper.h: -------------------------------------------------------------------------------- 1 | #ifndef ___TXWIDESCREENWRAPPER_H__ 2 | #define ___TXWIDESCREENWRAPPER_H__ 3 | 4 | #include 5 | 6 | #ifdef ANDROID 7 | 8 | int tx_swprintf(wchar_t* ws, size_t len, const wchar_t* format, ...); 9 | bool wccmp(const wchar_t* w1, const wchar_t* w2); 10 | 11 | #define BUF_SIZE 2048 12 | 13 | class tx_wstring { 14 | public: 15 | tx_wstring() {} 16 | tx_wstring(const wchar_t * wstr); 17 | tx_wstring(const tx_wstring & other); 18 | void assign(const wchar_t * wstr); 19 | void assign(const tx_wstring & wstr); 20 | void append(const tx_wstring & wstr); 21 | tx_wstring & operator=(const tx_wstring & other); 22 | tx_wstring & operator+=(const tx_wstring & other); 23 | tx_wstring & operator+=(const wchar_t * wstr); 24 | tx_wstring operator+(const tx_wstring & wstr); 25 | tx_wstring operator+(const wchar_t * wstr); 26 | const wchar_t * c_str() const; 27 | bool empty() const; 28 | int compare(const wchar_t * wstr); 29 | 30 | private: 31 | std::wstring _wstring; 32 | std::string _astring; 33 | char cbuf[BUF_SIZE]; 34 | wchar_t wbuf[BUF_SIZE]; 35 | }; 36 | 37 | class dummyWString 38 | { 39 | public: 40 | dummyWString(const char * _str); 41 | 42 | const wchar_t * c_str() const { 43 | return _wstr.c_str(); 44 | } 45 | 46 | private: 47 | std::wstring _wstr; 48 | }; 49 | 50 | #define wst(A) dummyWString(A).c_str() 51 | 52 | #else 53 | 54 | #define tx_wstring std::wstring 55 | #define tx_swprintf swprintf 56 | #define wst(A) L##A 57 | #define wccmp(A, B) A[0] == B[0] 58 | 59 | #endif // ANDROID 60 | 61 | #endif // ___TXWIDESCREENWRAPPER_H__ 62 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/AboutDialog.cpp: -------------------------------------------------------------------------------- 1 | #include "AboutDialog.h" 2 | #include "ui_AboutDialog.h" 3 | 4 | AboutDialog::AboutDialog(QWidget *parent, Qt::WindowFlags f) : 5 | QDialog(parent, f), 6 | ui(new Ui::AboutDialog) 7 | { 8 | ui->setupUi(this); 9 | } 10 | 11 | AboutDialog::~AboutDialog() 12 | { 13 | delete ui; 14 | } 15 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/AboutDialog.h: -------------------------------------------------------------------------------- 1 | #ifndef ABOUTDIALOG_H 2 | #define ABOUTDIALOG_H 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class AboutDialog; 8 | } 9 | 10 | class AboutDialog : public QDialog 11 | { 12 | Q_OBJECT 13 | 14 | public: 15 | explicit AboutDialog(QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags()); 16 | ~AboutDialog(); 17 | 18 | private: 19 | Ui::AboutDialog *ui; 20 | }; 21 | 22 | #endif // ABOUTDIALOG_H 23 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/BottomLeft.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/BottomLeft.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/BottomRight.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/BottomRight.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/ConfigDialog.h: -------------------------------------------------------------------------------- 1 | #ifndef CONFIGDIALOG_H 2 | #define CONFIGDIALOG_H 3 | 4 | #include 5 | 6 | namespace Ui { 7 | class ConfigDialog; 8 | } 9 | 10 | class QAbstractButton; 11 | class ConfigDialog : public QDialog 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit ConfigDialog(QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags()); 17 | ~ConfigDialog(); 18 | 19 | void setIniPath(const QString & _strIniPath); 20 | bool isAccepted() const { return m_accepted; } 21 | 22 | public Q_SLOTS: 23 | virtual void accept(); 24 | 25 | private slots: 26 | void on_selectFontButton_clicked(); 27 | 28 | void on_PickFontColorButton_clicked(); 29 | 30 | void on_buttonBox_clicked(QAbstractButton *button); 31 | 32 | void on_fullScreenResolutionComboBox_currentIndexChanged(int index); 33 | 34 | void on_texPackPathButton_clicked(); 35 | 36 | void on_windowedResolutionComboBox_currentIndexChanged(int index); 37 | 38 | void on_cropImageComboBox_currentIndexChanged(int index); 39 | 40 | void on_frameBufferCheckBox_toggled(bool checked); 41 | 42 | private: 43 | void _init(); 44 | void _getTranslations(QStringList & _translationFiles) const; 45 | 46 | Ui::ConfigDialog *ui; 47 | QFont m_font; 48 | QColor m_color; 49 | bool m_accepted; 50 | QString m_strIniPath; 51 | }; 52 | 53 | #endif // CONFIGDIALOG_H 54 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/Down.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/Down.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/FullscreenResolutions.h: -------------------------------------------------------------------------------- 1 | #ifndef FULLSCREENRESOLUTIONS_H 2 | #define FULLSCREENRESOLUTIONS_H 3 | 4 | #include "ConfigDialog.h" 5 | 6 | void fillFullscreenResolutionsList(QStringList & _listResolutions, int & _resolutionIdx, QStringList & _listRefreshRates, int & _rateIdx); 7 | 8 | void fillFullscreenRefreshRateList(int _resolutionIdx, QStringList & _listRefreshRates, int & _rateIdx); 9 | 10 | void getFullscreenResolutions(int _idx, unsigned int & _width, unsigned int & _height); 11 | void getFullscreenRefreshRate(int _idx, unsigned int & _rate); 12 | 13 | #endif // FULLSCREENRESOLUTIONS_H 14 | 15 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/GLideNUI.h: -------------------------------------------------------------------------------- 1 | #ifndef GLIDENUII_H 2 | #define GLIDENUII_H 3 | 4 | #if defined(__cplusplus) 5 | extern "C" { 6 | #endif 7 | 8 | #ifdef OS_WINDOWS 9 | #define EXPORT __declspec(dllexport) 10 | #define CALL __cdecl 11 | #else 12 | #define EXPORT __attribute__((visibility("default"))) 13 | #define CALL 14 | #endif 15 | 16 | EXPORT bool CALL RunConfig(const wchar_t * _strFileName); 17 | EXPORT int CALL RunAbout(const wchar_t * _strFileName); 18 | EXPORT void CALL LoadConfig(const wchar_t * _strFileName); 19 | EXPORT void CALL LoadCustomRomSettings(const wchar_t * _strFileName, const char * _romName); 20 | EXPORT void CALL SaveScreenshot(const wchar_t * _folder, const char * _name, int _width, int _height, const unsigned char * _data); 21 | 22 | #if defined(__cplusplus) 23 | } 24 | #endif 25 | 26 | #endif // GLIDENUII_H 27 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/GLideNUI.pro: -------------------------------------------------------------------------------- 1 | #------------------------------------------------- 2 | # 3 | # Project created by QtCreator 2015-01-26T21:59:49 4 | # 5 | #------------------------------------------------- 6 | 7 | QT += core gui 8 | QTPLUGIN += qico 9 | 10 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 11 | 12 | TARGET = GLideNUI 13 | TEMPLATE = lib 14 | CONFIG += staticlib 15 | CONFIG += c++11 16 | 17 | SOURCES += \ 18 | ConfigDialog.cpp \ 19 | GLideNUI.cpp \ 20 | FullscreenResolutions_windows.cpp \ 21 | Settings.cpp \ 22 | ScreenShot.cpp \ 23 | AboutDialog.cpp 24 | 25 | HEADERS += \ 26 | ConfigDialog.h \ 27 | GLideNUI.h \ 28 | FullscreenResolutions.h \ 29 | Settings.h \ 30 | AboutDialog.h 31 | 32 | RESOURCES += \ 33 | icon.qrc 34 | 35 | FORMS += \ 36 | configDialog.ui \ 37 | AboutDialog.ui 38 | 39 | TRANSLATIONS = gliden64_fr.ts \ 40 | gliden64_de.ts \ 41 | gliden64_it.ts \ 42 | gliden64_es.ts \ 43 | gliden64_pl.ts \ 44 | gliden64_pt_BR.ts \ 45 | gliden64_ja.ts 46 | 47 | DISTFILES += 48 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/GLideNUI.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.21005.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GLideNUI", "GLideNUI.vcxproj", "{37CAB375-A7A6-3CAB-BD56-0E954D3FD2FE}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {37CAB375-A7A6-3CAB-BD56-0E954D3FD2FE}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {37CAB375-A7A6-3CAB-BD56-0E954D3FD2FE}.Debug|Win32.Build.0 = Debug|Win32 16 | {37CAB375-A7A6-3CAB-BD56-0E954D3FD2FE}.Release|Win32.ActiveCfg = Release|Win32 17 | {37CAB375-A7A6-3CAB-BD56-0E954D3FD2FE}.Release|Win32.Build.0 = Release|Win32 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | Qt5Version = 5_4_msvc 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/Icon-Original.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/Icon-Original.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/Icon.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/Info.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/Info.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/Left.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/Left.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/Right.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/Right.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/ScreenShot.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include "GLideNUI.h" 6 | 7 | #include "../Config.h" 8 | 9 | EXPORT void CALL SaveScreenshot(const wchar_t * _folder, const char * _name, int _width, int _height, const unsigned char * _data) 10 | { 11 | const char * bmp = "bmp"; 12 | const char * jpg = "jpg"; 13 | const char * fileExt = config.texture.screenShotFormat == 0 ? bmp : jpg; 14 | QString folderName = QString::fromWCharArray(_folder); 15 | QDir folder; 16 | if (!folder.exists(folderName) && !folder.mkpath(folderName)) 17 | return; 18 | 19 | QString romName(_name); 20 | romName = romName.replace(' ', '_'); 21 | romName = romName.replace(':', ';'); 22 | QString fileName; 23 | int i; 24 | for (i = 0; i < 1000; ++i) { 25 | fileName = fileName.sprintf("%lsGLideN64_%ls_%03i.%s", folderName.data(), romName.data(), i, fileExt); 26 | QFile f(fileName); 27 | if (!f.exists()) 28 | break; 29 | } 30 | if (i == 1000) 31 | return; 32 | QImage image(_data, _width, _height, QImage::Format_RGB888); 33 | QImageWriter writer(fileName, fileExt); 34 | writer.write(image.mirrored()); 35 | } 36 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/Settings.h: -------------------------------------------------------------------------------- 1 | #ifndef SETTINGS_H 2 | #define SETTINGS_H 3 | 4 | void loadSettings(const QString & _strIniFolder); 5 | void writeSettings(const QString & _strIniFolder); 6 | void loadCustomRomSettings(const QString & _strIniFolder, const char * _strRomName); 7 | QString getTranslationFile(); 8 | 9 | #endif // SETTINGS_H 10 | 11 | -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/TopLeft.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/TopLeft.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/TopRight.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/TopRight.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/Up.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/Up.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/Warning.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/GLideN64/src/GLideNUI/Warning.ico -------------------------------------------------------------------------------- /GLideN64/src/GLideNUI/icon.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icon.ico 4 | Warning.ico 5 | Info.ico 6 | Up.ico 7 | Right.ico 8 | Down.ico 9 | Left.ico 10 | TopLeft.ico 11 | TopRight.ico 12 | BottomRight.ico 13 | BottomLeft.ico 14 | 15 | 16 | -------------------------------------------------------------------------------- /GLideN64/src/L3D.h: -------------------------------------------------------------------------------- 1 | #ifndef L3D_H 2 | #define L3D_H 3 | #include "Types.h" 4 | 5 | #define L3D_LINE3D 0xB5 6 | 7 | void L3D_Line3D( u32 w0, u32 w1 ); 8 | void L3D_Init(); 9 | #endif 10 | 11 | -------------------------------------------------------------------------------- /GLideN64/src/L3DEX.h: -------------------------------------------------------------------------------- 1 | #ifndef L3DEX_H 2 | #define L3DEX_H 3 | #include "Types.h" 4 | 5 | void L3DEX_Line3D( u32 w0, u32 w1 ); 6 | void L3DEX_Init(); 7 | #endif 8 | 9 | -------------------------------------------------------------------------------- /GLideN64/src/L3DEX2.h: -------------------------------------------------------------------------------- 1 | #ifndef L3DEX2_H 2 | #define L3DEX2_H 3 | #include "Types.h" 4 | 5 | #define L3DEX2_LINE3D 0x08 6 | 7 | void L3DEX2_Line3D( u32 w0, u32 w1 ); 8 | void L3DEX2_Init(); 9 | #endif 10 | 11 | -------------------------------------------------------------------------------- /GLideN64/src/Log.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "Log.h" 5 | #include "PluginAPI.h" 6 | #include "wst.h" 7 | 8 | void LOG(u16 type, const char * format, ...) { 9 | if (type > LOG_LEVEL) 10 | return; 11 | 12 | wchar_t logPath[PLUGIN_PATH_SIZE + 16]; 13 | api().GetUserDataPath(logPath); 14 | gln_wcscat(logPath, wst("/gliden64.log")); 15 | 16 | #ifdef OS_WINDOWS 17 | FILE *dumpFile = _wfopen(logPath, wst("a+")); 18 | #else 19 | constexpr size_t bufSize = PLUGIN_PATH_SIZE * 6; 20 | char cbuf[bufSize]; 21 | wcstombs(cbuf, logPath, bufSize); 22 | FILE *dumpFile = fopen(cbuf, "a+"); 23 | #endif //OS_WINDOWS 24 | 25 | if (dumpFile == nullptr) 26 | return; 27 | va_list va; 28 | va_start(va, format); 29 | vfprintf(dumpFile, format, va); 30 | fclose(dumpFile); 31 | va_end(va); 32 | } 33 | 34 | #if defined(OS_WINDOWS) && !defined(MINGW) 35 | #include "windows/GLideN64_windows.h" 36 | void debugPrint(const char * format, ...) { 37 | char text[256]; 38 | wchar_t wtext[256]; 39 | va_list va; 40 | va_start(va, format); 41 | vsprintf(text, format, va); 42 | mbstowcs(wtext, text, 256); 43 | OutputDebugString(wtext); 44 | va_end(va); 45 | } 46 | #endif 47 | -------------------------------------------------------------------------------- /GLideN64/src/Log.h: -------------------------------------------------------------------------------- 1 | #ifndef __LOG_H__ 2 | #define __LOG_H__ 3 | 4 | #define LOG_NONE 0 5 | #define LOG_ERROR 1 6 | #define LOG_MINIMAL 2 7 | #define LOG_WARNING 3 8 | #define LOG_VERBOSE 4 9 | #define LOG_APIFUNC 5 10 | 11 | #define LOG_LEVEL LOG_WARNING 12 | 13 | #if LOG_LEVEL > 0 14 | 15 | #include "Types.h" 16 | 17 | void LOG(u16 type, const char * format, ...); 18 | 19 | #else 20 | 21 | #define LOG(A, ...) 22 | 23 | #endif 24 | 25 | #if defined(OS_WINDOWS) && !defined(MINGW) 26 | void debugPrint(const char * format, ...); 27 | #else 28 | #define debugPrint(A, ...) 29 | #endif 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /GLideN64/src/Log_android.cpp: -------------------------------------------------------------------------------- 1 | #include "Log.h" 2 | #include 3 | 4 | void LOG(u16 type, const char * format, ...) { 5 | if (type > LOG_LEVEL) 6 | return; 7 | 8 | va_list va; 9 | va_start(va, format); 10 | __android_log_vprint(ANDROID_LOG_DEBUG, "GLideN64", format, va); 11 | va_end(va); 12 | } 13 | -------------------------------------------------------------------------------- /GLideN64/src/MupenPlusPluginAPI.cpp: -------------------------------------------------------------------------------- 1 | #include "PluginAPI.h" 2 | #include "Types.h" 3 | 4 | extern "C" { 5 | 6 | EXPORT int CALL RomOpen(void) 7 | { 8 | api().RomOpen(); 9 | return 1; 10 | } 11 | 12 | EXPORT m64p_error CALL PluginGetVersion( 13 | m64p_plugin_type * _PluginType, 14 | int * _PluginVersion, 15 | int * _APIVersion, 16 | const char ** _PluginNamePtr, 17 | int * _Capabilities 18 | ) 19 | { 20 | return api().PluginGetVersion(_PluginType, _PluginVersion, _APIVersion, _PluginNamePtr, _Capabilities); 21 | } 22 | 23 | EXPORT m64p_error CALL PluginStartup( 24 | m64p_dynlib_handle CoreLibHandle, 25 | void *Context, 26 | void (*DebugCallback)(void *, int, const char *) 27 | ) 28 | { 29 | return api().PluginStartup(CoreLibHandle); 30 | } 31 | 32 | EXPORT m64p_error CALL PluginShutdown(void) 33 | { 34 | return api().PluginShutdown(); 35 | } 36 | 37 | EXPORT void CALL ReadScreen2(void *dest, int *width, int *height, int front) 38 | { 39 | api().ReadScreen2(dest, width, height, front); 40 | } 41 | 42 | EXPORT void CALL SetRenderingCallback(void (*callback)(int)) 43 | { 44 | api().SetRenderingCallback(callback); 45 | } 46 | 47 | } // extern "C" 48 | -------------------------------------------------------------------------------- /GLideN64/src/N64.cpp: -------------------------------------------------------------------------------- 1 | #include "N64.h" 2 | 3 | u8 *HEADER; 4 | u8 *DMEM; 5 | u8 *IMEM; 6 | u64 TMEM[512]; 7 | u8 *RDRAM; 8 | 9 | u32 RDRAMSize; 10 | 11 | N64Regs REG; 12 | 13 | bool ConfigOpen = false; 14 | -------------------------------------------------------------------------------- /GLideN64/src/N64.h: -------------------------------------------------------------------------------- 1 | #ifndef N64_H 2 | #define N64_H 3 | 4 | #include "Types.h" 5 | 6 | #define MI_INTR_DP 0x20 // Bit 5: DP intr 7 | 8 | struct N64Regs 9 | { 10 | u32 *MI_INTR; 11 | 12 | u32 *DPC_START; 13 | u32 *DPC_END; 14 | u32 *DPC_CURRENT; 15 | u32 *DPC_STATUS; 16 | u32 *DPC_CLOCK; 17 | u32 *DPC_BUFBUSY; 18 | u32 *DPC_PIPEBUSY; 19 | u32 *DPC_TMEM; 20 | 21 | u32 *VI_STATUS; 22 | u32 *VI_ORIGIN; 23 | u32 *VI_WIDTH; 24 | u32 *VI_INTR; 25 | u32 *VI_V_CURRENT_LINE; 26 | u32 *VI_TIMING; 27 | u32 *VI_V_SYNC; 28 | u32 *VI_H_SYNC; 29 | u32 *VI_LEAP; 30 | u32 *VI_H_START; 31 | u32 *VI_V_START; 32 | u32 *VI_V_BURST; 33 | u32 *VI_X_SCALE; 34 | u32 *VI_Y_SCALE; 35 | }; 36 | 37 | extern N64Regs REG; 38 | extern u8 *HEADER; 39 | extern u8 *DMEM; 40 | extern u8 *IMEM; 41 | extern u8 *RDRAM; 42 | extern u64 TMEM[512]; 43 | extern u32 RDRAMSize; 44 | extern bool ConfigOpen; 45 | 46 | #endif 47 | 48 | -------------------------------------------------------------------------------- /GLideN64/src/Performance.cpp: -------------------------------------------------------------------------------- 1 | #include "VI.h" 2 | #include "Config.h" 3 | #include "Performance.h" 4 | 5 | Performance perf; 6 | 7 | Performance::Performance() 8 | : m_vi(0) 9 | , m_frames(0) 10 | , m_fps(0) 11 | , m_vis(0) 12 | , m_startTime(0) 13 | , m_enabled(false) { 14 | } 15 | 16 | void Performance::reset() 17 | { 18 | m_vi = 0; 19 | m_frames = 0; 20 | m_fps = 0; 21 | m_vis = 0; 22 | m_startTime = 0; 23 | m_enabled = (config.onScreenDisplay.fps | config.onScreenDisplay.vis | config.onScreenDisplay.percent) != 0; 24 | if (m_enabled) 25 | m_startTime = std::clock(); 26 | } 27 | 28 | f32 Performance::getFps() const 29 | { 30 | return m_fps; 31 | } 32 | 33 | f32 Performance::getVIs() const 34 | { 35 | return m_vis; 36 | } 37 | 38 | f32 Performance::getPercent() const 39 | { 40 | const f32 scale = VI.PAL ? 0.5f : 0.6f; 41 | return m_vis / scale; 42 | } 43 | 44 | void Performance::increaseVICount() 45 | { 46 | if (!m_enabled) 47 | return; 48 | m_vi++; 49 | const clock_t curTime = std::clock(); 50 | const float elapsed = float( curTime - m_startTime ) / CLOCKS_PER_SEC; 51 | if (elapsed < 0.5) 52 | return; 53 | m_vis = m_vi / elapsed; 54 | m_fps = m_frames / elapsed; 55 | m_vi = 0; 56 | m_frames = 0; 57 | m_startTime = curTime; 58 | } 59 | 60 | void Performance::increaseFramesCount() 61 | { 62 | if (!m_enabled) 63 | return; 64 | m_frames++; 65 | } 66 | -------------------------------------------------------------------------------- /GLideN64/src/Performance.h: -------------------------------------------------------------------------------- 1 | #ifndef PERFORMANCE_H 2 | #define PERFORMANCE_H 3 | #include 4 | #include "Types.h" 5 | 6 | class Performance 7 | { 8 | public: 9 | Performance(); 10 | void reset(); 11 | f32 getFps() const; 12 | f32 getVIs() const; 13 | f32 getPercent() const; 14 | void increaseVICount(); 15 | void increaseFramesCount(); 16 | 17 | private: 18 | u32 m_vi; 19 | u32 m_frames; 20 | f32 m_fps; 21 | f32 m_vis; 22 | clock_t m_startTime; 23 | bool m_enabled; 24 | }; 25 | 26 | extern Performance perf; 27 | #endif // PERFORMANCE_H 28 | -------------------------------------------------------------------------------- /GLideN64/src/PostProcessor.h: -------------------------------------------------------------------------------- 1 | #ifndef POST_PROCESSOR_H 2 | #define POST_PROCESSOR_H 3 | 4 | #include "Types.h" 5 | #include "OpenGL.h" 6 | #include "Textures.h" 7 | 8 | class PostProcessor { 9 | public: 10 | void init(); 11 | void destroy(); 12 | 13 | FrameBuffer * doBlur(FrameBuffer * _pBuffer); 14 | FrameBuffer * doGammaCorrection(FrameBuffer * _pBuffer); 15 | FrameBuffer * doOrientationCorrection(FrameBuffer * _pBuffer); 16 | 17 | static PostProcessor & get(); 18 | 19 | private: 20 | PostProcessor(); 21 | PostProcessor(const PostProcessor & _other); 22 | 23 | void _initCommon(); 24 | void _destroyCommon(); 25 | void _initGammaCorrection(); 26 | void _destroyGammaCorrection(); 27 | void _initOrientationCorrection(); 28 | void _destroyOrientationCorrection(); 29 | void _initBlur(); 30 | void _destroyBlur(); 31 | void _setGLState(); 32 | void _preDraw(FrameBuffer * _pBuffer); 33 | void _postDraw(); 34 | 35 | GLuint m_extractBloomProgram; 36 | GLuint m_seperableBlurProgram; 37 | GLuint m_glowProgram; 38 | GLuint m_bloomProgram; 39 | 40 | GLuint m_gammaCorrectionProgram; 41 | 42 | GLuint m_orientationCorrectionProgram; 43 | 44 | FrameBuffer * m_pResultBuffer; 45 | 46 | GLuint m_FBO_glowMap; 47 | GLuint m_FBO_blur; 48 | 49 | bool use_vbo; 50 | GLuint pp_vbo; 51 | 52 | CachedTexture * m_pTextureOriginal; 53 | CachedTexture * m_pTextureGlowMap; 54 | CachedTexture * m_pTextureBlur; 55 | 56 | #ifdef ANDROID 57 | static PostProcessor processor; 58 | #endif 59 | }; 60 | 61 | #endif // POST_PROCESSOR_H 62 | -------------------------------------------------------------------------------- /GLideN64/src/RDP.h: -------------------------------------------------------------------------------- 1 | #ifndef RDP_H 2 | #define RDP_H 3 | 4 | #define MAXCMD 0x100000 5 | const unsigned int maxCMDMask = MAXCMD - 1; 6 | 7 | typedef struct 8 | { 9 | u32 w2, w3; 10 | u32 cmd_ptr; 11 | u32 cmd_cur; 12 | u32 cmd_data[MAXCMD + 32]; 13 | } RDPInfo; 14 | 15 | extern RDPInfo RDP; 16 | 17 | void RDP_Init(); 18 | void RDP_Half_1(u32 _c); 19 | void RDP_TexRect(u32 w0, u32 w1); 20 | void RDP_ProcessRDPList(); 21 | void RDP_RepeatLastLoadBlock(); 22 | void RDP_SetScissor(u32 w0, u32 w1); 23 | 24 | #endif 25 | 26 | -------------------------------------------------------------------------------- /GLideN64/src/RSP.h: -------------------------------------------------------------------------------- 1 | #ifndef RSP_H 2 | #define RSP_H 3 | 4 | #include "Types.h" 5 | #include "N64.h" 6 | 7 | typedef struct 8 | { 9 | u32 PC[18], PCi, busy, halt, close, uc_start, uc_dstart, cmd, nextCmd; 10 | u32 w0, w1; 11 | s32 count; 12 | bool bLLE; 13 | char romname[21]; 14 | wchar_t pluginpath[PLUGIN_PATH_SIZE]; 15 | } RSPInfo; 16 | 17 | extern RSPInfo RSP; 18 | 19 | extern u32 DepthClearColor; 20 | extern u32 rectDepthBufferCopyFrame; 21 | 22 | #define RSP_SegmentToPhysical( segaddr ) ((gSP.segment[(segaddr >> 24) & 0x0F] + (segaddr & RDRAMSize)) & RDRAMSize) 23 | 24 | void RSP_Init(); 25 | void RSP_ProcessDList(); 26 | void RSP_LoadMatrix( f32 mtx[4][4], u32 address ); 27 | void RSP_CheckDLCounter(); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /GLideN64/src/S2DEX2.h: -------------------------------------------------------------------------------- 1 | #ifndef S2DEX2_H 2 | #define S2DEX2_H 3 | 4 | void S2DEX2_Init(); 5 | 6 | #define S2DEX2_OBJ_RECTANGLE_R 0xDA 7 | #define S2DEX2_OBJ_MOVEMEM 0xDC 8 | #define S2DEX2_RDPHALF_0 0xE4 9 | #define S2DEX2_OBJ_RECTANGLE 0x01 10 | #define S2DEX2_OBJ_SPRITE 0x02 11 | #define S2DEX2_SELECT_DL 0x04 12 | #define S2DEX2_OBJ_LOADTXTR 0x05 13 | #define S2DEX2_OBJ_LDTX_SPRITE 0x06 14 | #define S2DEX2_OBJ_LDTX_RECT 0x07 15 | #define S2DEX2_OBJ_LDTX_RECT_R 0x08 16 | #define S2DEX2_BG_1CYC 0x09 17 | #define S2DEX2_BG_COPY 0x0A 18 | #define S2DEX2_OBJ_RENDERMODE 0x0B 19 | #endif 20 | -------------------------------------------------------------------------------- /GLideN64/src/ShaderUtils.h: -------------------------------------------------------------------------------- 1 | #ifndef SHADER_UTILS_H 2 | #define SHADER_UTILS_H 3 | 4 | #include "OpenGL.h" 5 | #include "Combiner.h" 6 | 7 | GLuint createShaderProgram(const char * _strVertex, const char * _strFragment); 8 | bool checkShaderCompileStatus(GLuint obj); 9 | bool checkProgramLinkStatus(GLuint obj); 10 | void logErrorShader(GLenum _shaderType, const std::string & _strShader); 11 | int compileCombiner(const gDPCombine & _combine, Combiner & _color, Combiner & _alpha, std::string & _strShader); 12 | 13 | #endif // SHADER_UTILS_H 14 | -------------------------------------------------------------------------------- /GLideN64/src/SoftwareRender.h: -------------------------------------------------------------------------------- 1 | #ifndef SOFTWARE_RENDER_H 2 | #define SOFTWARE_RENDER_H 3 | 4 | #include "OpenGL.h" 5 | 6 | void renderTriangles(const SPVertex * _pVertices, const GLubyte * _pElements, u32 _numElements); 7 | 8 | #endif // SOFTWARE_RENDER_H 9 | -------------------------------------------------------------------------------- /GLideN64/src/TextDrawer.h: -------------------------------------------------------------------------------- 1 | #ifndef TEXTDRAWER_H 2 | #define TEXTDRAWER_H 3 | #include "OpenGL.h" 4 | 5 | class TextDrawer 6 | { 7 | void init(); 8 | void destroy(); 9 | void renderText(const char *_pText, float x, float y) const; 10 | void getTextSize(const char *_pText, float & _w, float & _h) const; 11 | static TextDrawer & get(); 12 | 13 | private: 14 | TextDrawer(); 15 | TextDrawer(const TextDrawer &); 16 | friend class OGLRender; 17 | struct Atlas * m_pAtlas; 18 | GLuint m_program; 19 | GLint m_uTex; 20 | GLint m_uColor; 21 | GLuint m_vbo; 22 | }; 23 | 24 | #endif // TEXTDRAWER_H 25 | -------------------------------------------------------------------------------- /GLideN64/src/TextDrawerStub.cpp: -------------------------------------------------------------------------------- 1 | #include "TextDrawer.h" 2 | 3 | TextDrawer::TextDrawer() {} 4 | void TextDrawer::init() {} 5 | void TextDrawer::destroy() {} 6 | void TextDrawer::renderText(const char * /*_pText*/, float /*x*/, float /*y*/) const {} 7 | void TextDrawer::getTextSize(const char *_pText, float & _w, float & _h) const {} 8 | TextDrawer & TextDrawer::get() { 9 | static TextDrawer drawer; 10 | return drawer; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /GLideN64/src/TextureFilterHandler.h: -------------------------------------------------------------------------------- 1 | #ifndef TEXTUREFILTERHANDLER_H 2 | #define TEXTUREFILTERHANDLER_H 3 | 4 | #include "Types.h" 5 | 6 | class TextureFilterHandler 7 | { 8 | public: 9 | TextureFilterHandler() : m_inited(0), m_options(0) {} 10 | // It's not safe to call shutdown() in destructor, because texture filter has its own static objects, which can be destroyed first. 11 | ~TextureFilterHandler() { m_inited = m_options = 0; } 12 | void init(); 13 | void shutdown(); 14 | bool isInited() const { return m_inited != 0; } 15 | bool optionsChanged() const { return _getConfigOptions() != m_options; } 16 | private: 17 | u32 _getConfigOptions() const; 18 | u32 m_inited; 19 | u32 m_options; 20 | }; 21 | 22 | extern TextureFilterHandler TFH; 23 | 24 | #endif // TEXTUREFILTERHANDLER_H 25 | -------------------------------------------------------------------------------- /GLideN64/src/Turbo3D.h: -------------------------------------------------------------------------------- 1 | #ifndef TURBO3D_H 2 | #define TURBO3D_H 3 | 4 | void RunTurbo3D(); 5 | 6 | #endif // TURBO3D_H 7 | -------------------------------------------------------------------------------- /GLideN64/src/TxFilterStub.cpp: -------------------------------------------------------------------------------- 1 | #include "GLideNHQ/Ext_TxFilter.h" 2 | 3 | TAPI boolean TAPIENTRY 4 | txfilter_init(int maxwidth, int maxheight, int maxbpp, int options, int cachesize, 5 | const wchar_t *path, const wchar_t * texPackPath, const wchar_t*ident, dispInfoFuncExt callback) 6 | { 7 | return 0; 8 | } 9 | 10 | TAPI void TAPIENTRY 11 | txfilter_shutdown(void) 12 | {} 13 | 14 | TAPI boolean TAPIENTRY 15 | txfilter_filter(uint8 *src, int srcwidth, int srcheight, uint16 srcformat, 16 | uint64 g64crc, GHQTexInfo *info) 17 | { 18 | return 0; 19 | } 20 | 21 | TAPI boolean TAPIENTRY 22 | txfilter_hirestex(uint64 g64crc, uint64 r_crc64, uint16 *palette, GHQTexInfo *info) 23 | { 24 | return 0; 25 | } 26 | 27 | TAPI uint64 TAPIENTRY 28 | txfilter_checksum(uint8 *src, int width, int height, int size, int rowStride, uint8 *palette) 29 | { 30 | return 0U; 31 | } 32 | 33 | TAPI boolean TAPIENTRY 34 | txfilter_dmptx(uint8 *src, int width, int height, int rowStridePixel, uint16 gfmt, uint16 n64fmt, uint64 r_crc64) 35 | { 36 | return 0; 37 | } 38 | 39 | TAPI boolean TAPIENTRY 40 | txfilter_reloadhirestex() 41 | { 42 | return 0; 43 | } 44 | 45 | -------------------------------------------------------------------------------- /GLideN64/src/Types.h: -------------------------------------------------------------------------------- 1 | #ifndef TYPES_H 2 | #define TYPES_H 3 | 4 | #ifdef HAVE_LIBNX 5 | #include 6 | #endif 7 | 8 | typedef unsigned char u8; /* unsigned 8-bit */ 9 | typedef unsigned short u16; /* unsigned 16-bit */ 10 | typedef unsigned int u32; /* unsigned 32-bit */ 11 | #ifndef HAVE_LIBNX 12 | typedef unsigned long long u64; /* unsigned 64-bit */ 13 | #endif 14 | typedef signed char s8; /* signed 8-bit */ 15 | typedef short s16; /* signed 16-bit */ 16 | typedef int s32; /* signed 32-bit */ 17 | #ifndef HAVE_LIBNX 18 | typedef long long s64; /* signed 64-bit */ 19 | #endif 20 | 21 | typedef volatile unsigned char vu8; /* unsigned 8-bit */ 22 | typedef volatile unsigned short vu16; /* unsigned 16-bit */ 23 | typedef volatile unsigned int vu32; /* unsigned 32-bit */ 24 | #ifndef HAVE_LIBNX 25 | typedef volatile unsigned long long vu64; /* unsigned 64-bit */ 26 | #endif 27 | 28 | typedef volatile signed char vs8; /* signed 8-bit */ 29 | typedef volatile short vs16; /* signed 16-bit */ 30 | typedef volatile int vs32; /* signed 32-bit */ 31 | #ifndef HAVE_LIBNX 32 | typedef volatile long long vs64; /* signed 64-bit */ 33 | #endif 34 | typedef float f32; /* single prec floating point */ 35 | typedef double f64; /* double prec floating point */ 36 | 37 | #ifndef TRUE 38 | #define TRUE 1 39 | #endif 40 | 41 | #ifndef FALSE 42 | #define FALSE 0 43 | #endif 44 | 45 | #ifndef NULL 46 | #define NULL 0 47 | #endif 48 | 49 | #ifndef PLUGIN_PATH_SIZE 50 | #define PLUGIN_PATH_SIZE 260 51 | #endif 52 | 53 | #endif // TYPES_H 54 | -------------------------------------------------------------------------------- /GLideN64/src/UniformCollection.h: -------------------------------------------------------------------------------- 1 | #ifndef UNIFORM_COLLECTION_H 2 | #define UNIFORM_COLLECTION_H 3 | 4 | #include "GLSLCombiner.h" 5 | 6 | class UniformCollection { 7 | public: 8 | enum TextureUniforms { 9 | tuTexScale, 10 | tuTexOffset, 11 | tuCacheScale, 12 | tuCacheOffset, 13 | tuCacheShiftScale, 14 | tuCacheFrameBuffer, 15 | tuTotal 16 | }; 17 | 18 | enum ColorUniforms { 19 | cuFogColor, 20 | cuCenterColor, 21 | cuScaleColor, 22 | cuBlendColor, 23 | cuEnvColor, 24 | cuPrimColor, 25 | cuPrimLod, 26 | cuK4, 27 | cuK5, 28 | cuTotal 29 | }; 30 | 31 | enum LightUniforms { 32 | luLightDirection, 33 | luLightColor, 34 | luTotal 35 | }; 36 | 37 | virtual ~UniformCollection() {} 38 | 39 | virtual void bindWithShaderCombiner(ShaderCombiner * _pCombiner) = 0; 40 | virtual void setColorData(ColorUniforms _index, u32 _dataSize, const void * _data) = 0; 41 | virtual void updateTextureParameters() = 0; 42 | virtual void updateLightParameters() = 0; 43 | virtual void updateUniforms(ShaderCombiner * _pCombiner, OGLRender::RENDER_STATE _renderState) = 0; 44 | }; 45 | 46 | UniformCollection * createUniformCollection(); 47 | 48 | #endif // UNIFORM_COLLECTION_H -------------------------------------------------------------------------------- /GLideN64/src/VI.h: -------------------------------------------------------------------------------- 1 | #ifndef VI_H 2 | #define VI_H 3 | #include "Types.h" 4 | 5 | struct VIInfo 6 | { 7 | u32 width, widthPrev, height, real_height; 8 | f32 rwidth, rheight; 9 | u32 lastOrigin; 10 | bool interlaced; 11 | bool PAL; 12 | 13 | VIInfo() : 14 | width(0), widthPrev(0), height(0), real_height(0), rwidth(0), rheight(0), 15 | lastOrigin(-1), interlaced(false), PAL(false) 16 | {} 17 | }; 18 | 19 | extern VIInfo VI; 20 | 21 | void VI_UpdateSize(); 22 | void VI_UpdateScreen(); 23 | 24 | #endif 25 | 26 | -------------------------------------------------------------------------------- /GLideN64/src/ZSort.h: -------------------------------------------------------------------------------- 1 | #ifndef ZSORT_H 2 | #define ZSORT_H 3 | 4 | void ZSort_Init(); 5 | 6 | #endif // ZSORT_H 7 | -------------------------------------------------------------------------------- /GLideN64/src/ZilmarPluginAPI.cpp: -------------------------------------------------------------------------------- 1 | #ifdef OS_WINDOWS 2 | # include 3 | #else 4 | # include "winlnxdefs.h" 5 | #endif // OS_WINDOWS 6 | 7 | #include "PluginAPI.h" 8 | 9 | extern "C" { 10 | 11 | EXPORT void CALL RomOpen (void) 12 | { 13 | api().RomOpen(); 14 | } 15 | 16 | EXPORT void CALL CaptureScreen ( char * Directory ) 17 | { 18 | api().CaptureScreen(Directory); 19 | } 20 | 21 | EXPORT void CALL CloseDLL (void) 22 | { 23 | api().CloseDLL(); 24 | } 25 | 26 | EXPORT void CALL DllAbout ( HWND hParent ) 27 | { 28 | api().DllAbout(/*hParent*/); 29 | } 30 | 31 | EXPORT void CALL DllConfig ( HWND hParent ) 32 | { 33 | api().DllConfig(hParent); 34 | } 35 | 36 | EXPORT void CALL DllTest ( HWND hParent ) 37 | { 38 | api().DllTest(hParent); 39 | } 40 | 41 | EXPORT void CALL DrawScreen (void) 42 | { 43 | api().DrawScreen(); 44 | } 45 | 46 | EXPORT void CALL GetDllInfo ( PLUGIN_INFO * PluginInfo ) 47 | { 48 | api().GetDllInfo(PluginInfo); 49 | } 50 | 51 | EXPORT void CALL ReadScreen (void **dest, long *width, long *height) 52 | { 53 | api().ReadScreen(dest, width, height); 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /GLideN64/src/getRevision.sh: -------------------------------------------------------------------------------- 1 | SCRIPT_DIRECTORY=`dirname $0` 2 | rev=\"`git rev-parse --short HEAD`\" 3 | echo current revision $rev 4 | echo "#define PLUGIN_REVISION $rev" > $SCRIPT_DIRECTORY/Revision.h 5 | -------------------------------------------------------------------------------- /GLideN64/src/glState.cpp: -------------------------------------------------------------------------------- 1 | #include "OpenGL.h" 2 | 3 | #ifdef GLSTATE_H 4 | 5 | void GLState::reset() 6 | { 7 | cached_ActiveTexture_texture = 0; 8 | cached_BlendFunc_sfactor = 0; 9 | cached_BlendFunc_dfactor = 0; 10 | cached_ReadBufferMode = 0; 11 | cached_glPixelStorei_target = 0; 12 | cached_glPixelStorei_param = 0; 13 | cached_ClearColor_red = 0; 14 | cached_ClearColor_green = 0; 15 | cached_ClearColor_blue = 0; 16 | cached_ClearColor_alpha = 0; 17 | cached_CullFace_mode = 0; 18 | cached_DepthFunc_func = 0; 19 | cached_DepthMask_flag = 0; 20 | cached_BLEND = false; 21 | cached_CULL_FACE = false; 22 | cached_DEPTH_TEST = false; 23 | cached_DEPTH_CLAMP = false; 24 | cached_CLIP_DISTANCE0 = false; 25 | cached_DITHER = false; 26 | cached_POLYGON_OFFSET_FILL = false; 27 | cached_SAMPLE_ALPHA_TO_COVERAGE = false; 28 | cached_SAMPLE_COVERAGE = false; 29 | cached_SCISSOR_TEST = false; 30 | cached_PolygonOffset_factor = 0; 31 | cached_PolygonOffset_units = 0; 32 | cached_Scissor_x = 0; 33 | cached_Scissor_y = 0; 34 | cached_Scissor_width = 0; 35 | cached_Scissor_height = 0; 36 | cached_UseProgram_program = -1; 37 | cached_Viewport_x = 0; 38 | cached_Viewport_y = 0; 39 | cached_Viewport_width = 0; 40 | cached_Viewport_height = 0; 41 | } 42 | 43 | GLState glState; 44 | 45 | #endif // GLSTATE_H 46 | -------------------------------------------------------------------------------- /GLideN64/src/mupenplus/video_api_export.ver: -------------------------------------------------------------------------------- 1 | { global: 2 | PluginStartup; 3 | PluginShutdown; 4 | PluginGetVersion; 5 | ChangeWindow; 6 | InitiateGFX; 7 | MoveScreen; 8 | ProcessDList; 9 | ProcessRDPList; 10 | RomClosed; 11 | RomOpen; 12 | ShowCFB; 13 | UpdateScreen; 14 | ViStatusChanged; 15 | ViWidthChanged; 16 | ReadScreen2; 17 | SetRenderingCallback; 18 | ResizeVideoOutput; 19 | FBRead; 20 | FBWrite; 21 | FBGetFrameBufferInfo; 22 | local: *; }; 23 | -------------------------------------------------------------------------------- /GLideN64/src/osal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.6) 2 | 3 | project( osal ) 4 | 5 | LINK_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/lib ) 6 | 7 | if(UNIX) 8 | set(OSAL_SOURCES osal_files_unix.c) 9 | add_definitions( 10 | -DNDEBUG 11 | -DOS_LINUX 12 | ) 13 | endif(UNIX) 14 | 15 | if(WIN32) 16 | set(OSAL_SOURCES osal_files_win32.c) 17 | add_definitions( 18 | -DOS_WINDOWS 19 | -D_CRT_SECURE_NO_WARNINGS 20 | ) 21 | endif(WIN32) 22 | 23 | # Build type 24 | 25 | if( NOT CMAKE_BUILD_TYPE) 26 | set( CMAKE_BUILD_TYPE Release) 27 | endif( NOT CMAKE_BUILD_TYPE) 28 | 29 | if( CMAKE_BUILD_TYPE STREQUAL "Debug") 30 | set( CMAKE_BUILD_TYPE Debug) 31 | set( DEBUG_BUILD TRUE) 32 | add_definitions( 33 | -DDEBUG 34 | ) 35 | endif( CMAKE_BUILD_TYPE STREQUAL "Debug") 36 | 37 | if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") 38 | add_definitions( -D__MSC__) 39 | endif() 40 | 41 | if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") 42 | SET(GCC_CPP11_COMPILE_FLAGS "-std=c++0x") 43 | SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_CPP11_COMPILE_FLAGS} -static -fPIC " ) 44 | SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static -fPIC " ) 45 | endif() 46 | 47 | if( CMAKE_BUILD_TYPE STREQUAL "Debug") 48 | add_library( osald STATIC ${OSAL_SOURCES}) 49 | endif( CMAKE_BUILD_TYPE STREQUAL "Debug") 50 | 51 | if( CMAKE_BUILD_TYPE STREQUAL "Release") 52 | add_library( osal STATIC ${OSAL_SOURCES}) 53 | endif( CMAKE_BUILD_TYPE STREQUAL "Release") 54 | -------------------------------------------------------------------------------- /GLideN64/src/osal/mupen64plus-video-osal.mk: -------------------------------------------------------------------------------- 1 | ########### 2 | # osal 3 | ########### 4 | include $(CLEAR_VARS) 5 | LOCAL_PATH := $(JNI_LOCAL_PATH) 6 | SRCDIR := ./mupen64plus-video-gliden64/src/osal 7 | 8 | LOCAL_MODULE := osal 9 | #LOCAL_STATIC_LIBRARIES := png 10 | LOCAL_ARM_MODE := arm 11 | 12 | LOCAL_C_INCLUDES := \ 13 | $(LOCAL_PATH)/$(SRCDIR) \ 14 | 15 | LOCAL_SRC_FILES := \ 16 | $(SRCDIR)/osal_files_unix.c \ 17 | 18 | LOCAL_CFLAGS := \ 19 | $(COMMON_CFLAGS) \ 20 | -g \ 21 | -DANDROID \ 22 | -fsigned-char \ 23 | #-DDEBUG \ 24 | #-DSDL_NO_COMPAT \ 25 | 26 | LOCAL_CPPFLAGS := $(COMMON_CPPFLAGS) -std=c++11 -g -fexceptions 27 | 28 | include $(BUILD_STATIC_LIBRARY) 29 | -------------------------------------------------------------------------------- /GLideN64/src/windows/CommonAPIImpl_windows.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "GLideN64_Windows.h" 3 | #include 4 | #include "../PluginAPI.h" 5 | #include "../OpenGL.h" 6 | #include "../RSP.h" 7 | 8 | #ifdef OS_WINDOWS 9 | EXTERN_C IMAGE_DOS_HEADER __ImageBase; 10 | #endif 11 | 12 | BOOL CALLBACK FindToolBarProc( HWND _hWnd, LPARAM lParam ) 13 | { 14 | if (GetWindowLong( _hWnd, GWL_STYLE ) & RBS_VARHEIGHT) { 15 | hToolBar = _hWnd; 16 | return FALSE; 17 | } 18 | return TRUE; 19 | } 20 | 21 | int PluginAPI::InitiateGFX(const GFX_INFO & _gfxInfo) 22 | { 23 | _initiateGFX(_gfxInfo); 24 | 25 | hWnd = _gfxInfo.hWnd; 26 | hStatusBar = _gfxInfo.hStatusBar; 27 | hToolBar = NULL; 28 | 29 | EnumChildWindows( hWnd, FindToolBarProc, 0 ); 30 | return TRUE; 31 | } 32 | 33 | void PluginAPI::FindPluginPath(wchar_t * _strPath) 34 | { 35 | if (_strPath == NULL) 36 | return; 37 | ::GetModuleFileName((HINSTANCE)&__ImageBase, _strPath, PLUGIN_PATH_SIZE); 38 | std::wstring pluginPath(_strPath); 39 | std::replace(pluginPath.begin(), pluginPath.end(), L'\\', L'/'); 40 | std::wstring::size_type pos = pluginPath.find_last_of(L"/"); 41 | wcscpy(_strPath, pluginPath.substr(0, pos).c_str()); 42 | } 43 | 44 | void PluginAPI::GetUserDataPath(wchar_t * _strPath) 45 | { 46 | FindPluginPath(_strPath); 47 | } 48 | 49 | void PluginAPI::GetUserCachePath(wchar_t * _strPath) 50 | { 51 | FindPluginPath(_strPath); 52 | } 53 | -------------------------------------------------------------------------------- /GLideN64/src/windows/Config_windows.cpp: -------------------------------------------------------------------------------- 1 | #include "GLideN64_Windows.h" 2 | #include "../N64.h" 3 | #include "../Config.h" 4 | #include "../RSP.h" 5 | #include "../PluginAPI.h" 6 | #include "../OpenGL.h" 7 | #include "../GLideNUI/GLideNUI.h" 8 | 9 | Config config; 10 | 11 | void Config_DoConfig(/*HWND hParent*/) 12 | { 13 | wchar_t strIniFolderPath[PLUGIN_PATH_SIZE]; 14 | api().FindPluginPath(strIniFolderPath); 15 | 16 | ConfigOpen = true; 17 | const bool bRestart = RunConfig(strIniFolderPath); 18 | if (config.generalEmulation.enableCustomSettings != 0) 19 | LoadCustomRomSettings(strIniFolderPath, RSP.romname); 20 | if (bRestart) 21 | video().restart(); 22 | ConfigOpen = false; 23 | } 24 | 25 | void Config_LoadConfig() 26 | { 27 | wchar_t strIniFolderPath[PLUGIN_PATH_SIZE]; 28 | api().FindPluginPath(strIniFolderPath); 29 | LoadConfig(strIniFolderPath); 30 | if (config.generalEmulation.enableCustomSettings != 0) 31 | LoadCustomRomSettings(strIniFolderPath, RSP.romname); 32 | } 33 | -------------------------------------------------------------------------------- /GLideN64/src/windows/GLideN64_windows.cpp: -------------------------------------------------------------------------------- 1 | #include "GLideN64_Windows.h" 2 | #include "../OpenGL.h" 3 | 4 | HWND hWnd; 5 | HWND hStatusBar; 6 | HWND hToolBar; 7 | HINSTANCE hInstance; 8 | 9 | BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID /*lpvReserved*/) 10 | { 11 | hInstance = hinstDLL; 12 | 13 | return TRUE; 14 | } 15 | -------------------------------------------------------------------------------- /GLideN64/src/windows/GLideN64_windows.h: -------------------------------------------------------------------------------- 1 | #ifndef GLIDEN64_WINDOWS_H 2 | #define GLIDEN64_WINDOWS_H 3 | 4 | #include 5 | 6 | extern HWND hWnd; 7 | extern HWND hStatusBar; 8 | extern HWND hToolBar; 9 | extern HINSTANCE hInstance; 10 | 11 | #endif // GLIDEN64_WINDOWS_H 12 | -------------------------------------------------------------------------------- /GLideN64/src/windows/ZilmarAPIImpl_windows.cpp: -------------------------------------------------------------------------------- 1 | #include "GLideN64_Windows.h" 2 | #include "../PluginAPI.h" 3 | #include "../GLideN64.h" 4 | #include "../GLideNUI/GLideNUI.h" 5 | #include "../OpenGL.h" 6 | #include "../Config.h" 7 | #include "../Revision.h" 8 | 9 | void PluginAPI::DllAbout(/*HWND _hParent*/) 10 | { 11 | Config_LoadConfig(); 12 | wchar_t strIniFolderPath[PLUGIN_PATH_SIZE]; 13 | api().FindPluginPath(strIniFolderPath); 14 | RunAbout(strIniFolderPath); 15 | } 16 | 17 | void PluginAPI::CaptureScreen(char * _Directory) 18 | { 19 | video().setCaptureScreen(_Directory); 20 | } 21 | 22 | void PluginAPI::DllConfig(HWND _hParent) 23 | { 24 | Config_DoConfig(/*_hParent*/); 25 | } 26 | 27 | void PluginAPI::GetDllInfo(PLUGIN_INFO * PluginInfo) 28 | { 29 | PluginInfo->Version = 0x103; 30 | PluginInfo->Type = PLUGIN_TYPE_GFX; 31 | sprintf(PluginInfo->Name, "%s rev.%s", pluginName, PLUGIN_REVISION); 32 | PluginInfo->NormalMemory = FALSE; 33 | PluginInfo->MemoryBswaped = TRUE; 34 | } 35 | -------------------------------------------------------------------------------- /GLideN64/src/wst.h: -------------------------------------------------------------------------------- 1 | #ifndef WST_H 2 | #define WST_H 3 | 4 | #ifdef ANDROID 5 | static 6 | void gln_wcscat(wchar_t* destination, const wchar_t* source) 7 | { 8 | const u32 bufSize = 512; 9 | char cbuf[bufSize]; 10 | wcstombs(cbuf, destination, bufSize); 11 | std::string dest(cbuf); 12 | wcstombs(cbuf, source, bufSize); 13 | dest.append(cbuf); 14 | mbstowcs(destination, dest.c_str(), PLUGIN_PATH_SIZE); 15 | } 16 | 17 | class dummyWString 18 | { 19 | public: 20 | dummyWString(const char * _str) 21 | { 22 | wchar_t buf[512]; 23 | mbstowcs(buf, _str, 512); 24 | _wstr.assign(buf); 25 | } 26 | 27 | const wchar_t * c_str() const { 28 | return _wstr.c_str(); 29 | } 30 | 31 | private: 32 | std::wstring _wstr; 33 | }; 34 | 35 | #define wst(A) dummyWString(A).c_str() 36 | #else // ANDROID 37 | #define gln_wcscat wcscat 38 | #define wst(A) L##A 39 | #endif // ANDROID 40 | 41 | #endif // WST_H 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Important Notice: 2 | ## This core is deprecated and will no longer be maintained. 3 | 4 | Please use https://github.com/libretro/mupen64plus-libretro-nx 5 | 6 | # Mupen64Plus 7 | 8 | Mupen64Plus is [mupen64plus](https://github.com/mupen64plus/mupen64plus-core) + [GLideN64](https://github.com/gonetz/GLideN64) + [libretro](http://www.libretro.com/) 9 | 10 | #### How is this different from [Parallel-N64](https://github.com/libretro/parallel-n64)? 11 | 12 | Parallel-N64 implements multiple Graphics plugins. There are also code modifications that make it different than standalone mupen64plus. 13 | 14 | Mupen64Plus uses GLideN64 (a graphics plugin that is not available in Parallel-N64). The emulator code itself is identical to standalone mupen64plus. 15 | 16 | By choosing one graphics plugin (GLideN64), we will be able to keep the code in line with upstream, and maintaining the code will be much simpler. 17 | 18 | #### Acknowledgments 19 | 20 | A special thanks to the mupen64plus team, the libretro team, and gonetz and those that have worked on GLideN64. 21 | 22 | **Minimum RetroArch version: v1.3.4** 23 | 24 | For information on the options look at the [wiki section](https://github.com/libretro/mupen64plus-libretro/wiki#options). 25 | -------------------------------------------------------------------------------- /custom/GLideN64/CRC.cpp: -------------------------------------------------------------------------------- 1 | #include "CRC.h" 2 | #include "xxhash.h" 3 | 4 | #define CRC32_POLYNOMIAL 0x04C11DB7 5 | 6 | unsigned int CRCTable[ 256 ]; 7 | 8 | static 9 | u32 Reflect( u32 ref, char ch ) 10 | { 11 | u32 value = 0; 12 | 13 | // Swap bit 0 for bit 7 14 | // bit 1 for bit 6, etc. 15 | for (int i = 1; i < (ch + 1); ++i) { 16 | if(ref & 1) 17 | value |= 1 << (ch - i); 18 | ref >>= 1; 19 | } 20 | return value; 21 | } 22 | 23 | void CRC_Init() 24 | { 25 | u32 crc; 26 | 27 | for (int i = 0; i < 256; ++i) { 28 | crc = Reflect( i, 8 ) << 24; 29 | for (int j = 0; j < 8; ++j) 30 | crc = (crc << 1) ^ (crc & (1 << 31) ? CRC32_POLYNOMIAL : 0); 31 | 32 | CRCTable[i] = Reflect( crc, 32 ); 33 | } 34 | } 35 | 36 | u32 CRC_Calculate_Strict( u32 crc, const void * buffer, u32 count ) 37 | { 38 | u8 *p; 39 | u32 orig = crc; 40 | 41 | p = (u8*) buffer; 42 | while (count--) 43 | crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++]; 44 | 45 | return crc ^ orig; 46 | } 47 | 48 | u32 CRC_Calculate( u32 crc, const void * buffer, u32 count ) 49 | { 50 | #ifdef __x86_64__ 51 | return XXH64(buffer, count, crc); 52 | #else 53 | return XXH32(buffer, count, crc); 54 | #endif 55 | } 56 | 57 | u32 CRC_CalculatePalette(u32 crc, const void * buffer, u32 count ) 58 | { 59 | u8 *p; 60 | u32 orig = crc; 61 | 62 | p = (u8*) buffer; 63 | while (count--) { 64 | crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++]; 65 | crc = (crc >> 8) ^ CRCTable[(crc & 0xFF) ^ *p++]; 66 | 67 | p += 6; 68 | } 69 | 70 | return crc ^ orig; 71 | } 72 | -------------------------------------------------------------------------------- /custom/GLideN64/MupenPlusPluginAPI.cpp: -------------------------------------------------------------------------------- 1 | #include "PluginAPI.h" 2 | #include "Types.h" 3 | #include "OpenGL.h" 4 | 5 | extern "C" { 6 | 7 | EXPORT int CALL RomOpen(void) 8 | { 9 | api().RomOpen(); 10 | return 1; 11 | } 12 | 13 | EXPORT void CALL ReadScreen2(void *dest, int *width, int *height, int front) 14 | { 15 | } 16 | 17 | EXPORT void CALL SetRenderingCallback(void (*callback)(int)) 18 | { 19 | } 20 | 21 | } // extern "C" 22 | -------------------------------------------------------------------------------- /custom/GLideN64/mupenplus/GLideN64_mupenplus.h: -------------------------------------------------------------------------------- 1 | #ifndef GLIDEN64_MUPENPLUS_H 2 | #define GLIDEN64_MUPENPLUS_H 3 | 4 | #include "m64p_config.h" 5 | #include "m64p_vidext.h" 6 | 7 | #define PLUGIN_VERSION 0x020000 8 | #define VIDEO_PLUGIN_API_VERSION 0x020200 9 | #define CONFIG_API_VERSION 0x020000 10 | #define VIDEXT_API_VERSION 0x030000 11 | 12 | extern ptr_VidExt_Init CoreVideo_Init; 13 | extern ptr_VidExt_Quit CoreVideo_Quit; 14 | extern ptr_VidExt_ListFullscreenModes CoreVideo_ListFullscreenModes; 15 | extern ptr_VidExt_SetVideoMode CoreVideo_SetVideoMode; 16 | extern ptr_VidExt_SetCaption CoreVideo_SetCaption; 17 | extern ptr_VidExt_ToggleFullScreen CoreVideo_ToggleFullScreen; 18 | extern ptr_VidExt_ResizeWindow CoreVideo_ResizeWindow; 19 | extern ptr_VidExt_GL_GetProcAddress CoreVideo_GL_GetProcAddress; 20 | extern ptr_VidExt_GL_SetAttribute CoreVideo_GL_SetAttribute; 21 | extern ptr_VidExt_GL_GetAttribute CoreVideo_GL_GetAttribute; 22 | extern ptr_VidExt_GL_SwapBuffers CoreVideo_GL_SwapBuffers; 23 | 24 | extern void(*renderCallback)(int); 25 | 26 | #endif // GLIDEN64_MUPENPLUS_H 27 | -------------------------------------------------------------------------------- /custom/android/arm/libpng.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/custom/android/arm/libpng.a -------------------------------------------------------------------------------- /custom/android/arm64/libpng.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/custom/android/arm64/libpng.a -------------------------------------------------------------------------------- /custom/android/include/cutils/android_reboot.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2011, The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CUTILS_ANDROID_REBOOT_H__ 18 | #define __CUTILS_ANDROID_REBOOT_H__ 19 | 20 | #include 21 | 22 | __BEGIN_DECLS 23 | 24 | /* Commands */ 25 | #define ANDROID_RB_RESTART 0xDEAD0001 26 | #define ANDROID_RB_POWEROFF 0xDEAD0002 27 | #define ANDROID_RB_RESTART2 0xDEAD0003 28 | 29 | /* Properties */ 30 | #define ANDROID_RB_PROPERTY "sys.powerctl" 31 | 32 | int android_reboot(int cmd, int flags, const char *arg); 33 | int android_reboot_with_callback( 34 | int cmd, int flags, const char *arg, 35 | void (*cb_on_remount)(const struct mntent*)); 36 | 37 | __END_DECLS 38 | 39 | #endif /* __CUTILS_ANDROID_REBOOT_H__ */ 40 | -------------------------------------------------------------------------------- /custom/android/include/cutils/aref.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _CUTILS_AREF_H_ 18 | #define _CUTILS_AREF_H_ 19 | 20 | #include 21 | #include 22 | 23 | #include 24 | 25 | __BEGIN_DECLS 26 | 27 | #define AREF_TO_ITEM(aref, container, member) \ 28 | (container *) (((char*) (aref)) - offsetof(container, member)) 29 | 30 | struct aref 31 | { 32 | volatile int32_t count; 33 | }; 34 | 35 | static inline void aref_init(struct aref *r) 36 | { 37 | r->count = 1; 38 | } 39 | 40 | static inline int32_t aref_count(struct aref *r) 41 | { 42 | return r->count; 43 | } 44 | 45 | static inline void aref_get(struct aref *r) 46 | { 47 | android_atomic_inc(&r->count); 48 | } 49 | 50 | static inline void aref_put(struct aref *r, void (*release)(struct aref *)) 51 | { 52 | if (android_atomic_dec(&r->count) == 1) 53 | release(r); 54 | } 55 | 56 | __END_DECLS 57 | 58 | #endif // _CUTILS_AREF_H_ 59 | -------------------------------------------------------------------------------- /custom/android/include/cutils/ashmem.h: -------------------------------------------------------------------------------- 1 | /* cutils/ashmem.h 2 | ** 3 | ** Copyright 2008 The Android Open Source Project 4 | ** 5 | ** This file is dual licensed. It may be redistributed and/or modified 6 | ** under the terms of the Apache 2.0 License OR version 2 of the GNU 7 | ** General Public License. 8 | */ 9 | 10 | #ifndef _CUTILS_ASHMEM_H 11 | #define _CUTILS_ASHMEM_H 12 | 13 | #include 14 | 15 | #if defined(__BIONIC__) 16 | #include 17 | #endif 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | int ashmem_create_region(const char *name, size_t size); 24 | int ashmem_set_prot_region(int fd, int prot); 25 | int ashmem_pin_region(int fd, size_t offset, size_t len); 26 | int ashmem_unpin_region(int fd, size_t offset, size_t len); 27 | int ashmem_get_size_region(int fd); 28 | 29 | #ifdef __cplusplus 30 | } 31 | #endif 32 | 33 | #endif /* _CUTILS_ASHMEM_H */ 34 | -------------------------------------------------------------------------------- /custom/android/include/cutils/compiler.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2009 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_CUTILS_COMPILER_H 18 | #define ANDROID_CUTILS_COMPILER_H 19 | 20 | /* 21 | * helps the compiler's optimizer predicting branches 22 | */ 23 | 24 | #ifdef __cplusplus 25 | # define CC_LIKELY( exp ) (__builtin_expect( !!(exp), true )) 26 | # define CC_UNLIKELY( exp ) (__builtin_expect( !!(exp), false )) 27 | #else 28 | # define CC_LIKELY( exp ) (__builtin_expect( !!(exp), 1 )) 29 | # define CC_UNLIKELY( exp ) (__builtin_expect( !!(exp), 0 )) 30 | #endif 31 | 32 | /** 33 | * exports marked symbols 34 | * 35 | * if used on a C++ class declaration, this macro must be inserted 36 | * after the "class" keyword. For instance: 37 | * 38 | * template 39 | * class ANDROID_API Singleton { } 40 | */ 41 | 42 | #define ANDROID_API __attribute__((visibility("default"))) 43 | 44 | #endif // ANDROID_CUTILS_COMPILER_H 45 | -------------------------------------------------------------------------------- /custom/android/include/cutils/iosched_policy.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CUTILS_IOSCHED_POLICY_H 18 | #define __CUTILS_IOSCHED_POLICY_H 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | typedef enum { 25 | IoSchedClass_NONE, 26 | IoSchedClass_RT, 27 | IoSchedClass_BE, 28 | IoSchedClass_IDLE, 29 | } IoSchedClass; 30 | 31 | extern int android_set_ioprio(int pid, IoSchedClass clazz, int ioprio); 32 | extern int android_get_ioprio(int pid, IoSchedClass *clazz, int *ioprio); 33 | 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | #endif /* __CUTILS_IOSCHED_POLICY_H */ 39 | -------------------------------------------------------------------------------- /custom/android/include/cutils/jstring.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CUTILS_STRING16_H 18 | #define __CUTILS_STRING16_H 19 | 20 | #include 21 | #include 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | #if __STDC_VERSION__ < 201112L && __cplusplus < 201103L 28 | typedef uint16_t char16_t; 29 | #endif 30 | // otherwise char16_t is a keyword with the right semantics 31 | 32 | extern char * strndup16to8 (const char16_t* s, size_t n); 33 | extern size_t strnlen16to8 (const char16_t* s, size_t n); 34 | extern char * strncpy16to8 (char *dest, const char16_t*s, size_t n); 35 | 36 | extern char16_t * strdup8to16 (const char* s, size_t *out_len); 37 | extern size_t strlen8to16 (const char* utf8Str); 38 | extern char16_t * strcpy8to16 (char16_t *dest, const char*s, size_t *out_len); 39 | extern char16_t * strcpylen8to16 (char16_t *dest, const char*s, int length, 40 | size_t *out_len); 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | 46 | #endif /* __CUTILS_STRING16_H */ 47 | -------------------------------------------------------------------------------- /custom/android/include/cutils/log.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /custom/android/include/cutils/memory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_CUTILS_MEMORY_H 18 | #define ANDROID_CUTILS_MEMORY_H 19 | 20 | #include 21 | #include 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* size is given in bytes and must be multiple of 2 */ 28 | void android_memset16(uint16_t* dst, uint16_t value, size_t size); 29 | 30 | /* size is given in bytes and must be multiple of 4 */ 31 | void android_memset32(uint32_t* dst, uint32_t value, size_t size); 32 | 33 | #if defined(__GLIBC__) || defined(_WIN32) 34 | /* Declaration of strlcpy() for platforms that don't already have it. */ 35 | size_t strlcpy(char *dst, const char *src, size_t size); 36 | #endif 37 | 38 | #ifdef __cplusplus 39 | } // extern "C" 40 | #endif 41 | 42 | #endif // ANDROID_CUTILS_MEMORY_H 43 | -------------------------------------------------------------------------------- /custom/android/include/cutils/misc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CUTILS_MISC_H 18 | #define __CUTILS_MISC_H 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | /* Load an entire file into a malloc'd chunk of memory 25 | * that is length_of_file + 1 (null terminator). If 26 | * sz is non-zero, return the size of the file via sz. 27 | * Returns 0 on failure. 28 | */ 29 | extern void *load_file(const char *fn, unsigned *sz); 30 | 31 | /* This is the range of UIDs (and GIDs) that are reserved 32 | * for assigning to applications. 33 | */ 34 | #define FIRST_APPLICATION_UID 10000 35 | #define LAST_APPLICATION_UID 99999 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif /* __CUTILS_MISC_H */ 42 | -------------------------------------------------------------------------------- /custom/android/include/cutils/multiuser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CUTILS_MULTIUSER_H 18 | #define __CUTILS_MULTIUSER_H 19 | 20 | #include 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | // NOTE: keep in sync with android.os.UserId 27 | 28 | #define MULTIUSER_APP_PER_USER_RANGE 100000 29 | 30 | typedef uid_t userid_t; 31 | typedef uid_t appid_t; 32 | 33 | extern userid_t multiuser_get_user_id(uid_t uid); 34 | extern appid_t multiuser_get_app_id(uid_t uid); 35 | extern uid_t multiuser_get_uid(userid_t userId, appid_t appId); 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif /* __CUTILS_MULTIUSER_H */ 42 | -------------------------------------------------------------------------------- /custom/android/include/cutils/open_memstream.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CUTILS_OPEN_MEMSTREAM_H__ 18 | #define __CUTILS_OPEN_MEMSTREAM_H__ 19 | 20 | #include 21 | 22 | #if defined(__APPLE__) 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | FILE* open_memstream(char** bufp, size_t* sizep); 29 | 30 | #ifdef __cplusplus 31 | } 32 | #endif 33 | 34 | #endif /* __APPLE__ */ 35 | 36 | #endif /*__CUTILS_OPEN_MEMSTREAM_H__*/ 37 | -------------------------------------------------------------------------------- /custom/android/include/cutils/partition_utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2011, The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CUTILS_PARTITION_WIPED_H__ 18 | #define __CUTILS_PARTITION_WIPED_H__ 19 | 20 | __BEGIN_DECLS 21 | 22 | int partition_wiped(char *source); 23 | 24 | __END_DECLS 25 | 26 | #endif /* __CUTILS_PARTITION_WIPED_H__ */ 27 | -------------------------------------------------------------------------------- /custom/android/include/cutils/process_name.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Gives the current process a name. 19 | */ 20 | 21 | #ifndef __PROCESS_NAME_H 22 | #define __PROCESS_NAME_H 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | /** 29 | * Sets the current process name. 30 | * 31 | * Warning: This leaks a string every time you call it. Use judiciously! 32 | */ 33 | void set_process_name(const char* process_name); 34 | 35 | /** Gets the current process name. */ 36 | const char* get_process_name(void); 37 | 38 | #ifdef __cplusplus 39 | } 40 | #endif 41 | 42 | #endif /* __PROCESS_NAME_H */ 43 | -------------------------------------------------------------------------------- /custom/android/include/cutils/record_stream.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /* 18 | * A simple utility for reading fixed records out of a stream fd 19 | */ 20 | 21 | #ifndef _CUTILS_RECORD_STREAM_H 22 | #define _CUTILS_RECORD_STREAM_H 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | 29 | typedef struct RecordStream RecordStream; 30 | 31 | extern RecordStream *record_stream_new(int fd, size_t maxRecordLen); 32 | extern void record_stream_free(RecordStream *p_rs); 33 | 34 | extern int record_stream_get_next (RecordStream *p_rs, void ** p_outRecord, 35 | size_t *p_outRecordLen); 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | 42 | #endif /*_CUTILS_RECORD_STREAM_H*/ 43 | 44 | -------------------------------------------------------------------------------- /custom/android/include/cutils/uevent.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef __CUTILS_UEVENT_H 18 | #define __CUTILS_UEVENT_H 19 | 20 | #include 21 | #include 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | int uevent_open_socket(int buf_sz, bool passcred); 28 | ssize_t uevent_kernel_multicast_recv(int socket, void *buffer, size_t length); 29 | ssize_t uevent_kernel_multicast_uid_recv(int socket, void *buffer, size_t length, uid_t *uid); 30 | ssize_t uevent_kernel_recv(int socket, void *buffer, size_t length, bool require_group, uid_t *uid); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif /* __CUTILS_UEVENT_H */ 37 | -------------------------------------------------------------------------------- /custom/android/include/log/event_tag_map.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _LIBS_CUTILS_EVENTTAGMAP_H 18 | #define _LIBS_CUTILS_EVENTTAGMAP_H 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | #define EVENT_TAG_MAP_FILE "/system/etc/event-log-tags" 25 | 26 | struct EventTagMap; 27 | typedef struct EventTagMap EventTagMap; 28 | 29 | /* 30 | * Open the specified file as an event log tag map. 31 | * 32 | * Returns NULL on failure. 33 | */ 34 | EventTagMap* android_openEventTagMap(const char* fileName); 35 | 36 | /* 37 | * Close the map. 38 | */ 39 | void android_closeEventTagMap(EventTagMap* map); 40 | 41 | /* 42 | * Look up a tag by index. Returns the tag string, or NULL if not found. 43 | */ 44 | const char* android_lookupEventTag(const EventTagMap* map, int tag); 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif /*_LIBS_CUTILS_EVENTTAGMAP_H*/ 51 | -------------------------------------------------------------------------------- /custom/android/include/log/uio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007-2014 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _LIBS_CUTILS_UIO_H 18 | #define _LIBS_CUTILS_UIO_H 19 | 20 | #if !defined(_WIN32) 21 | 22 | #include 23 | 24 | #else 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | // 31 | // Implementation of sys/uio.h for Win32. 32 | // 33 | 34 | #include 35 | 36 | struct iovec { 37 | void* iov_base; 38 | size_t iov_len; 39 | }; 40 | 41 | extern int readv( int fd, struct iovec* vecs, int count ); 42 | extern int writev( int fd, const struct iovec* vecs, int count ); 43 | 44 | #ifdef __cplusplus 45 | } 46 | #endif 47 | 48 | #endif 49 | 50 | #endif /* _LIBS_UTILS_UIO_H */ 51 | 52 | -------------------------------------------------------------------------------- /custom/android/include/ui/DisplayInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_UI_DISPLAY_INFO_H 18 | #define ANDROID_UI_DISPLAY_INFO_H 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | #include 25 | 26 | namespace android { 27 | 28 | struct DisplayInfo { 29 | uint32_t w; 30 | uint32_t h; 31 | float xdpi; 32 | float ydpi; 33 | float fps; 34 | float density; 35 | uint8_t orientation; 36 | bool secure; 37 | nsecs_t appVsyncOffset; 38 | nsecs_t presentationDeadline; 39 | int colorTransform; 40 | }; 41 | 42 | /* Display orientations as defined in Surface.java and ISurfaceComposer.h. */ 43 | enum { 44 | DISPLAY_ORIENTATION_0 = 0, 45 | DISPLAY_ORIENTATION_90 = 1, 46 | DISPLAY_ORIENTATION_180 = 2, 47 | DISPLAY_ORIENTATION_270 = 3 48 | }; 49 | 50 | }; // namespace android 51 | 52 | #endif // ANDROID_COMPOSER_DISPLAY_INFO_H 53 | -------------------------------------------------------------------------------- /custom/android/include/ui/DisplayStatInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2014 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_UI_DISPLAY_STAT_INFO_H 18 | #define ANDROID_UI_DISPLAY_STAT_INFO_H 19 | 20 | #include 21 | 22 | namespace android { 23 | 24 | struct DisplayStatInfo { 25 | nsecs_t vsyncTime; 26 | nsecs_t vsyncPeriod; 27 | }; 28 | 29 | }; // namespace android 30 | 31 | #endif // ANDROID_COMPOSER_DISPLAY_STAT_INFO_H 32 | -------------------------------------------------------------------------------- /custom/android/include/ui/UiConfig.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_UI_CONFIG_H 18 | #define ANDROID_UI_CONFIG_H 19 | 20 | #include 21 | 22 | namespace android { 23 | 24 | // Append the libui configuration details to configStr. 25 | void appendUiConfigString(String8& configStr); 26 | 27 | }; // namespace android 28 | 29 | #endif /*ANDROID_UI_CONFIG_H*/ 30 | -------------------------------------------------------------------------------- /custom/android/include/utils/Atomic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_UTILS_ATOMIC_H 18 | #define ANDROID_UTILS_ATOMIC_H 19 | 20 | #include 21 | 22 | #endif // ANDROID_UTILS_ATOMIC_H 23 | -------------------------------------------------------------------------------- /custom/android/include/utils/Endian.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | // 18 | // Android endian-ness defines. 19 | // 20 | #ifndef _LIBS_UTILS_ENDIAN_H 21 | #define _LIBS_UTILS_ENDIAN_H 22 | 23 | #if defined(__APPLE__) || defined(_WIN32) 24 | 25 | #define __BIG_ENDIAN 0x1000 26 | #define __LITTLE_ENDIAN 0x0001 27 | #define __BYTE_ORDER __LITTLE_ENDIAN 28 | 29 | #else 30 | 31 | #include 32 | 33 | #endif 34 | 35 | #endif /*_LIBS_UTILS_ENDIAN_H*/ 36 | -------------------------------------------------------------------------------- /custom/android/include/utils/Functor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_FUNCTOR_H 18 | #define ANDROID_FUNCTOR_H 19 | 20 | #include 21 | 22 | namespace android { 23 | 24 | class Functor { 25 | public: 26 | Functor() {} 27 | virtual ~Functor() {} 28 | virtual status_t operator ()(int /*what*/, void* /*data*/) { return NO_ERROR; } 29 | }; 30 | 31 | }; // namespace android 32 | 33 | #endif // ANDROID_FUNCTOR_H 34 | -------------------------------------------------------------------------------- /custom/android/include/utils/SystemClock.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef ANDROID_UTILS_SYSTEMCLOCK_H 18 | #define ANDROID_UTILS_SYSTEMCLOCK_H 19 | 20 | #include 21 | #include 22 | 23 | namespace android { 24 | 25 | int64_t uptimeMillis(); 26 | int64_t elapsedRealtime(); 27 | int64_t elapsedRealtimeNano(); 28 | 29 | }; // namespace android 30 | 31 | #endif // ANDROID_UTILS_SYSTEMCLOCK_H 32 | 33 | -------------------------------------------------------------------------------- /custom/android/include/utils/misc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | // 18 | // Handy utility functions and portability code. 19 | // 20 | #ifndef _LIBS_UTILS_MISC_H 21 | #define _LIBS_UTILS_MISC_H 22 | 23 | #include 24 | 25 | /* get #of elements in a static array */ 26 | #ifndef NELEM 27 | # define NELEM(x) ((int) (sizeof(x) / sizeof((x)[0]))) 28 | #endif 29 | 30 | namespace android { 31 | 32 | typedef void (*sysprop_change_callback)(void); 33 | void add_sysprop_change_callback(sysprop_change_callback cb, int priority); 34 | void report_sysprop_change(); 35 | 36 | }; // namespace android 37 | 38 | #endif // _LIBS_UTILS_MISC_H 39 | -------------------------------------------------------------------------------- /custom/android/include/utils/threads.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _LIBS_UTILS_THREADS_H 18 | #define _LIBS_UTILS_THREADS_H 19 | 20 | /* 21 | * Please, DO NOT USE! 22 | * 23 | * This file is here only for legacy reasons. Instead, include directly 24 | * the headers you need below. 25 | * 26 | */ 27 | 28 | #include 29 | 30 | #ifdef __cplusplus 31 | #include 32 | #include 33 | #include 34 | #include 35 | #include 36 | #endif 37 | 38 | #endif // _LIBS_UTILS_THREADS_H 39 | -------------------------------------------------------------------------------- /custom/android/x86/libpng.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/custom/android/x86/libpng.a -------------------------------------------------------------------------------- /custom/android/x86_64/libpng.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/custom/android/x86_64/libpng.a -------------------------------------------------------------------------------- /custom/mman-win32/sys/mman.h: -------------------------------------------------------------------------------- 1 | /* 2 | * sys/mman.h 3 | * mman-win32 4 | */ 5 | 6 | #ifndef _SYS_MMAN_H_ 7 | #define _SYS_MMAN_H_ 8 | 9 | #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. 10 | #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. 11 | #endif 12 | 13 | /* All the headers include this file. */ 14 | #ifndef _MSC_VER 15 | #include <_mingw.h> 16 | #endif 17 | 18 | #include 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | #define PROT_NONE 0 25 | #define PROT_READ 1 26 | #define PROT_WRITE 2 27 | #define PROT_EXEC 4 28 | 29 | #define MAP_FILE 0 30 | #define MAP_SHARED 1 31 | #define MAP_PRIVATE 2 32 | #define MAP_TYPE 0xf 33 | #define MAP_FIXED 0x10 34 | #define MAP_ANONYMOUS 0x20 35 | #define MAP_ANON MAP_ANONYMOUS 36 | 37 | #define MAP_FAILED ((void *)-1) 38 | 39 | /* Flags for msync. */ 40 | #define MS_ASYNC 1 41 | #define MS_SYNC 2 42 | #define MS_INVALIDATE 4 43 | 44 | void* mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off); 45 | int munmap(void *addr, size_t len); 46 | int mprotect(void *addr, size_t len, int prot); 47 | int msync(void *addr, size_t len, int flags); 48 | int mlock(const void *addr, size_t len); 49 | int munlock(const void *addr, size_t len); 50 | 51 | #ifdef __cplusplus 52 | }; 53 | #endif 54 | 55 | #endif /* _SYS_MMAN_H_ */ 56 | -------------------------------------------------------------------------------- /libretro-common/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | -------------------------------------------------------------------------------- /libretro-common/formats/xml/test/Makefile: -------------------------------------------------------------------------------- 1 | TARGET := rxml 2 | 3 | LIBRETRO_XML_DIR := .. 4 | LIBRETRO_COMM_DIR := ../../.. 5 | 6 | SOURCES := \ 7 | rxml_test.c \ 8 | $(LIBRETRO_XML_DIR)/rxml.c \ 9 | $(LIBRETRO_COMM_DIR)/streams/file_stream.c 10 | 11 | OBJS := $(SOURCES:.c=.o) 12 | 13 | CFLAGS += -DRXML_TEST -Wall -pedantic -std=gnu99 -g -I$(LIBRETRO_COMM_DIR)/include 14 | 15 | all: $(TARGET) 16 | 17 | %.o: %.c 18 | $(CC) -c -o $@ $< $(CFLAGS) 19 | 20 | $(TARGET): $(OBJS) 21 | $(CC) -o $@ $^ $(LDFLAGS) 22 | 23 | clean: 24 | rm -f $(TARGET) $(OBJS) 25 | 26 | .PHONY: clean 27 | 28 | -------------------------------------------------------------------------------- /libretro-common/glsym/README.md: -------------------------------------------------------------------------------- 1 | # Autogenerate GL extension loaders 2 | 3 | ## OpenGL desktop 4 | 5 | Use Khronos' recent [header](www.opengl.org/registry/api/glext.h). 6 | 7 | ./glgen.py /usr/include/GL/glext.h glsym_gl.h glsym_gl.c 8 | 9 | ## OpenGL ES 10 | 11 | ./glgen.py /usr/include/GLES2/gl2ext.h glsym_es2.h glsym_es2.c 12 | 13 | -------------------------------------------------------------------------------- /libretro-common/include/utils/md5.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc. 3 | * MD5 Message-Digest Algorithm (RFC 1321). 4 | * 5 | * Homepage: 6 | * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 7 | * 8 | * Author: 9 | * Alexander Peslyak, better known as Solar Designer 10 | * 11 | * This software was written by Alexander Peslyak in 2001. No copyright is 12 | * claimed, and the software is hereby placed in the public domain. 13 | * In case this attempt to disclaim copyright and place the software in the 14 | * public domain is deemed null and void, then the software is 15 | * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the 16 | * general public under the following terms: 17 | * 18 | * Redistribution and use in source and binary forms, with or without 19 | * modification, are permitted. 20 | * 21 | * There's ABSOLUTELY NO WARRANTY, express or implied. 22 | * 23 | * See md5.c for more information. 24 | */ 25 | 26 | #ifdef HAVE_OPENSSL 27 | #include 28 | #elif !defined(_MD5_H) 29 | #define _MD5_H 30 | 31 | /* Any 32-bit or wider unsigned integer data type will do */ 32 | typedef unsigned int MD5_u32plus; 33 | 34 | typedef struct { 35 | MD5_u32plus lo, hi; 36 | MD5_u32plus a, b, c, d; 37 | unsigned char buffer[64]; 38 | MD5_u32plus block[16]; 39 | } MD5_CTX; 40 | 41 | extern void MD5_Init(MD5_CTX *ctx); 42 | extern void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size); 43 | extern void MD5_Final(unsigned char *result, MD5_CTX *ctx); 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /libretro-common/libco/fiber.c: -------------------------------------------------------------------------------- 1 | /* 2 | libco.win (2008-01-28) 3 | authors: Nach, byuu 4 | license: public domain 5 | */ 6 | 7 | #define LIBCO_C 8 | #include 9 | #define WINVER 0x0400 10 | #define _WIN32_WINNT 0x0400 11 | #define WIN32_LEAN_AND_MEAN 12 | #include 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | static thread_local cothread_t co_active_ = 0; 19 | 20 | static void __stdcall co_thunk(void *coentry) 21 | { 22 | ((void (*)(void))coentry)(); 23 | } 24 | 25 | cothread_t co_active(void) 26 | { 27 | if(!co_active_) 28 | { 29 | ConvertThreadToFiber(0); 30 | co_active_ = GetCurrentFiber(); 31 | } 32 | return co_active_; 33 | } 34 | 35 | cothread_t co_create(unsigned int heapsize, void (*coentry)(void)) 36 | { 37 | if(!co_active_) 38 | { 39 | ConvertThreadToFiber(0); 40 | co_active_ = GetCurrentFiber(); 41 | } 42 | return (cothread_t)CreateFiber(heapsize, co_thunk, (void*)coentry); 43 | } 44 | 45 | void co_delete(cothread_t cothread) 46 | { 47 | DeleteFiber(cothread); 48 | } 49 | 50 | void co_switch(cothread_t cothread) 51 | { 52 | co_active_ = cothread; 53 | SwitchToFiber(cothread); 54 | } 55 | 56 | #ifdef __cplusplus 57 | } 58 | #endif 59 | -------------------------------------------------------------------------------- /libretro-common/libco/libco.c: -------------------------------------------------------------------------------- 1 | /* 2 | libco 3 | auto-selection module 4 | license: public domain 5 | */ 6 | 7 | #if defined(__GNUC__) && defined(__i386__) || (defined(_MSC_VER) && defined(_M_IX86)) 8 | #include "x86.c" 9 | #elif defined(__GNUC__) && defined(__amd64__) || (defined(_MSC_VER) && defined(_M_AMD64)) 10 | #include "amd64.c" 11 | #elif defined(__GNUC__) && defined(_ARCH_PPC) 12 | #include "ppc.c" 13 | #elif defined(__GNUC__) && defined(VITA) 14 | #include "scefiber.c" 15 | #elif defined(__GNUC__) && defined(__aarch64__) 16 | #include "aarch64.c" 17 | #elif defined(__GNUC__) && (defined(__ARM_EABI__) || defined(__arm__)) 18 | #include "armeabi.c" 19 | #elif defined(__GNUC__) 20 | #include "sjlj.c" 21 | #elif defined(_MSC_VER) 22 | #include "fiber.c" 23 | #else 24 | #error "libco: unsupported processor, compiler or operating system" 25 | #endif 26 | -------------------------------------------------------------------------------- /libretro-deps/libpng/ANNOUNCE: -------------------------------------------------------------------------------- 1 | Libpng 1.6.25beta03 - August 18, 2016 2 | 3 | This is not intended to be a public release. It will be replaced 4 | within a few weeks by a public version or by another test version. 5 | 6 | Files available for download: 7 | 8 | Source files with LF line endings (for Unix/Linux) and with a 9 | "configure" script 10 | 11 | 1.6.25beta03.tar.xz (LZMA-compressed, recommended) 12 | 1.6.25beta03.tar.gz 13 | 14 | Source files with CRLF line endings (for Windows), without the 15 | "configure" script 16 | 17 | lp1625b03.7z (LZMA-compressed, recommended) 18 | lp1625b03.zip 19 | 20 | Other information: 21 | 22 | 1.6.25beta03-README.txt 23 | 1.6.25beta03-LICENSE.txt 24 | libpng-1.6.25beta03-*.asc (armored detached GPG signatures) 25 | 26 | Changes since the last public release (1.6.24): 27 | 28 | Version 1.6.25beta01 [August 12, 2016] 29 | Reject oversized iCCP profile immediately. 30 | Cleaned up PNG_DEBUG compile of pngtest.c. 31 | Conditionally compile png_inflate(). 32 | 33 | Version 1.6.25beta02 [August 18, 2016] 34 | Don't install pngcp; it conflicts with pngcp in the pngtools package. 35 | Minor editing of INSTALL, (whitespace, added copyright line) 36 | 37 | Version 1.6.25beta03 [August 18, 2016] 38 | 39 | Send comments/corrections/commendations to png-mng-implement at lists.sf.net 40 | (subscription required; visit 41 | https://lists.sourceforge.net/lists/listinfo/png-mng-implement 42 | to subscribe) 43 | or to glennrp at users.sourceforge.net 44 | 45 | Glenn R-P 46 | -------------------------------------------------------------------------------- /libretro-deps/libpng/TODO: -------------------------------------------------------------------------------- 1 | /* 2 | TODO - list of things to do for libpng: 3 | 4 | Final bug fixes. 5 | Better C++ wrapper/full C++ implementation? 6 | Fix problem with C++ and EXTERN "C". 7 | cHRM transformation. 8 | Remove setjmp/longjmp usage in favor of returning error codes. As a start on 9 | this, minimize the use of png_error(), replacing them with 10 | png_warning(); return(0; or similar. 11 | Palette creation. 12 | Add "grayscale->palette" transformation and "palette->grayscale" detection. 13 | Improved dithering. 14 | Multi-lingual error and warning message support. 15 | Complete sRGB transformation (presently it simply uses gamma=0.45455). 16 | Man pages for function calls. 17 | Better documentation. 18 | Better filter selection 19 | (counting huffman bits/precompression? filter inertia? filter costs?). 20 | Histogram creation. 21 | Text conversion between different code pages (Latin-1 -> Mac and DOS). 22 | Avoid building gamma tables whenever possible. 23 | Use greater precision when changing to linear gamma for compositing against 24 | background and doing rgb-to-gray transformation. 25 | Investigate pre-incremented loop counters and other loop constructions. 26 | Add interpolated method of handling interlacing. 27 | Switch to the simpler zlib (zlib/libpng) license if legally possible. 28 | Extend pngvalid.c to validate more of the libpng transformations. 29 | 30 | */ 31 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/README.txt: -------------------------------------------------------------------------------- 1 | 2 | This "contrib" directory contains contributions which are not necessarily under 3 | the libpng license, although all are open source. They are not part of 4 | libpng proper and are not used for building the library, although some are used 5 | for testing the library via "make check". 6 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/arm-neon/android-ndk.c: -------------------------------------------------------------------------------- 1 | /* contrib/arm-neon/android-ndk.c 2 | * 3 | * Copyright (c) 2014 Glenn Randers-Pehrson 4 | * Written by John Bowler, 2014. 5 | * Last changed in libpng 1.6.10 [March 6, 2014] 6 | * 7 | * This code is released under the libpng license. 8 | * For conditions of distribution and use, see the disclaimer 9 | * and license in png.h 10 | * 11 | * SEE contrib/arm-neon/README before reporting bugs 12 | * 13 | * STATUS: COMPILED, UNTESTED 14 | * BUG REPORTS: png-mng-implement@sourceforge.net 15 | * 16 | * png_have_neon implemented for the Android NDK, see: 17 | * 18 | * Documentation: 19 | * http://www.kandroid.org/ndk/docs/CPU-ARM-NEON.html 20 | * http://code.google.com/p/android/issues/detail?id=49065 21 | * 22 | * NOTE: this requires that libpng is built against the Android NDK and linked 23 | * with an implementation of the Android ARM 'cpu-features' library. The code 24 | * has been compiled only, not linked: no version of the library has been found, 25 | * only the header files exist in the NDK. 26 | */ 27 | #include 28 | 29 | static int 30 | png_have_neon(png_structp png_ptr) 31 | { 32 | /* This is a whole lot easier than the linux code, however it is probably 33 | * implemented as below, therefore it is better to cache the result (these 34 | * function calls may be slow!) 35 | */ 36 | PNG_UNUSED(png_ptr) 37 | return android_getCpuFamily() == ANDROID_CPU_FAMILY_ARM && 38 | (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0; 39 | } 40 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/conftest/s_read.dfa: -------------------------------------------------------------------------------- 1 | # s_read.dfa 2 | # Build time configuration of libpng 3 | # 4 | # Author: John Bowler 5 | # Copyright: (c) John Bowler, 2013 6 | # Usage rights: 7 | # To the extent possible under law, the author has waived all copyright and 8 | # related or neighboring rights to this work. This work is published from: 9 | # United States. 10 | # 11 | # Build libpng with simplified read support (only). This builds a minimal 12 | # libpng able to read all PNG formats and convert them into a small number of 13 | # well understood memory formats. 14 | # 15 | 16 | everything = off 17 | 18 | option SIMPLIFIED_READ on 19 | 20 | # It isn't necessary to chose fixed or floating point for the APIs because the 21 | # simplified API doesn't need fixed or floating point numbers. It is necessary 22 | # to chose an internal math implementation. The default (because of 'everything 23 | # = off') is fixed point - turn the floating point implementation on if you have 24 | # hardware floating point or prefer your software floating point implementation. 25 | option FLOATING_ARITHMETIC on 26 | 27 | # This is not strictly necessary, but without it the message strings in the API 28 | # will not be filled in 29 | option ERROR_TEXT on 30 | 31 | # Switching these options on enables the 'AFIRST' and 'BGR' formats - you don't 32 | # need this if you don't use them, they just allow the in-memory layout to be 33 | # changed to match common hardware formats. 34 | option SIMPLIFIED_READ_AFIRST on 35 | option SIMPLIFIED_READ_BGR on 36 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/conftest/s_write.dfa: -------------------------------------------------------------------------------- 1 | # s_write.dfa 2 | # Build time configuration of libpng 3 | # 4 | # Author: John Bowler 5 | # Copyright: (c) John Bowler, 2013 6 | # Usage rights: 7 | # To the extent possible under law, the author has waived all copyright and 8 | # related or neighboring rights to this work. This work is published from: 9 | # United States. 10 | # 11 | # Build libpng with (just) simplified write support 12 | # 13 | 14 | everything = off 15 | 16 | option SIMPLIFIED_WRITE on 17 | 18 | # It isn't necessary to chose fixed or floating point for the APIs because the 19 | # simplified API doesn't need fixed or floating point numbers. It is necessary 20 | # to chose an internal math implementation. The default (because of 'everything 21 | # = off') is fixed point - turn the floating point implementation on if you have 22 | # hardware floating point or prefer your software floating point implementation. 23 | option FLOATING_ARITHMETIC on 24 | 25 | # This is not strictly necessary, but without it the message strings in the API 26 | # will not be filled in 27 | option ERROR_TEXT on 28 | 29 | # Switching these options on enables the 'AFIRST' and 'BGR' formats - you don't 30 | # need this if you don't use them, they just allow the in-memory layout to be 31 | # changed to match common hardware formats. 32 | option SIMPLIFIED_WRITE_AFIRST on 33 | option SIMPLIFIED_WRITE_BGR on 34 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/conftest/simple.dfa: -------------------------------------------------------------------------------- 1 | # simple.dfa 2 | # Build time configuration of libpng 3 | # 4 | # Author: John Bowler 5 | # Copyright: (c) John Bowler, 2013 6 | # Usage rights: 7 | # To the extent possible under law, the author has waived all copyright and 8 | # related or neighboring rights to this work. This work is published from: 9 | # United States. 10 | # 11 | # Build libpng with just the simplified APIs (read and write). 12 | # 13 | 14 | everything = off 15 | 16 | option SIMPLIFIED_WRITE on 17 | option SIMPLIFIED_READ on 18 | 19 | # It isn't necessary to chose fixed or floating point for the APIs because the 20 | # simplified API doesn't need fixed or floating point numbers. It is necessary 21 | # to chose an internal math implementation. The default (because of 'everything 22 | # = off') is fixed point - turn the floating point implementation on if you have 23 | # hardware floating point or prefer your software floating point implementation. 24 | option FLOATING_ARITHMETIC on 25 | 26 | # This is not strictly necessary, but without it the message strings in the API 27 | # will not be filled in 28 | option ERROR_TEXT on 29 | 30 | # Switching these options on enables the 'AFIRST' and 'BGR' formats - you don't 31 | # need this if you don't use them, they just allow the in-memory layout to be 32 | # changed to match common hardware formats. 33 | option SIMPLIFIED_READ_AFIRST on 34 | option SIMPLIFIED_READ_BGR on 35 | option SIMPLIFIED_WRITE_AFIRST on 36 | option SIMPLIFIED_WRITE_BGR on 37 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/examples/README.txt: -------------------------------------------------------------------------------- 1 | 2 | This directory (contrib/examples) contains examples of libpng usage. 3 | 4 | NO COPYRIGHT RIGHTS ARE CLAIMED TO ANY OF THE FILES IN THIS DIRECTORY. 5 | 6 | To the extent possible under law, the authors have waived all copyright and 7 | related or neighboring rights to this work. This work is published from: 8 | United States. 9 | 10 | The files may be used freely in any way. The intention is that appropriate 11 | parts of the files be used in other libpng-using programs without any need for 12 | the authors of the using code to seek copyright or license from the original 13 | authors. 14 | 15 | The source code and comments in this directory are the original work of the 16 | people named below. No other person or organization has made contributions to 17 | the work in this directory. 18 | 19 | ORIGINAL AUTHORS 20 | The following people have contributed to the code in this directory. None 21 | of the people below claim any rights with regard to the contents of this 22 | directory. 23 | 24 | John Bowler 25 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/gregbook/rpng-x.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/gregbook/rpng-x.c -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/gregbook/rpng2-x.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/gregbook/rpng2-x.c -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/gregbook/toucan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/gregbook/toucan.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/libtests/fakepng.c: -------------------------------------------------------------------------------- 1 | /* Fake a PNG - just write it out directly. 2 | * 3 | * COPYRIGHT: Written by John Cunningham Bowler, 2014. 4 | * To the extent possible under law, the author has waived all copyright and 5 | * related or neighboring rights to this work. This work is published from: 6 | * United States. 7 | * 8 | */ 9 | 10 | #include 11 | #include /* for crc32 */ 12 | 13 | void 14 | put_uLong(uLong val) 15 | { 16 | putchar(val >> 24); 17 | putchar(val >> 16); 18 | putchar(val >> 8); 19 | putchar(val >> 0); 20 | } 21 | 22 | void 23 | put_chunk(const unsigned char *chunk, uInt length) 24 | { 25 | uLong crc; 26 | 27 | put_uLong(length-4); /* Exclude the tag */ 28 | 29 | fwrite(chunk, length, 1, stdout); 30 | 31 | crc = crc32(0, Z_NULL, 0); 32 | put_uLong(crc32(crc, chunk, length)); 33 | } 34 | 35 | const unsigned char signature[] = 36 | { 37 | 137, 80, 78, 71, 13, 10, 26, 10 38 | }; 39 | 40 | const unsigned char IHDR[] = 41 | { 42 | 73, 72, 68, 82, /* IHDR */ 43 | 0, 0, 0, 1, /* width */ 44 | 0, 0, 0, 1, /* height */ 45 | 1, /* bit depth */ 46 | 0, /* color type: greyscale */ 47 | 0, /* compression method */ 48 | 0, /* filter method */ 49 | 0 /* interlace method: none */ 50 | }; 51 | 52 | const unsigned char unknown[] = 53 | { 54 | 'u', 'n', 'K', 'n' /* "unKn" - private safe to copy */ 55 | }; 56 | 57 | int 58 | main(void) 59 | { 60 | fwrite(signature, sizeof signature, 1, stdout); 61 | put_chunk(IHDR, sizeof IHDR); 62 | 63 | for (;;) 64 | put_chunk(unknown, sizeof unknown); 65 | } 66 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/README: -------------------------------------------------------------------------------- 1 | 2 | This demonstrates the use of PNG_USER_CONFIG, pngusr.h and pngusr.dfa 3 | to build minimal decoder, encoder, and progressive reader applications. 4 | 5 | See the individual README and pngusr.dfa files for more explanation. 6 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/decoder/README: -------------------------------------------------------------------------------- 1 | This demonstrates the use of PNG_USER_CONFIG, pngusr.h and pngusr.dfa 2 | 3 | The makefile builds a minimal read-only decoder with embedded libpng 4 | and zlib. 5 | 6 | Specify the location of the zlib source (1.2.1 or later) as ZLIBSRC 7 | on the make command line. 8 | 9 | If you prefer to use the shared libraries, go to contrib/pngminus 10 | and build the png2pnm application there. 11 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/decoder/pngusr.dfa: -------------------------------------------------------------------------------- 1 | # pngminim/decoder/pngusr.dfa 2 | # 3 | # Copyright (c) 2010-2013 Glenn Randers-Pehrson 4 | # 5 | # This code is released under the libpng license. 6 | # For conditions of distribution and use, see the disclaimer 7 | # and license in png.h 8 | 9 | # First all the build options off: 10 | 11 | everything = off 12 | 13 | # All that is required is some read code. This example switches 14 | # on the sequential read code (see ../preader for a progressive 15 | # read example). 16 | 17 | option SEQUENTIAL_READ on 18 | 19 | # You must choose fixed or floating point arithmetic: 20 | # option FLOATING_POINT on 21 | 22 | option FIXED_POINT on 23 | 24 | # You must chose the internal fixed point implementation or to 25 | # use the system floating point. The latter is considerably 26 | # smaller (by about 1kbyte on an x86 system): 27 | # option FLOATING_ARITHMETIC on 28 | 29 | option FLOATING_ARITHMETIC off 30 | 31 | # Your program will probably need other options. The example 32 | # program here, pngm2pnm, requires the following. Take a look 33 | # at pnglibconf.h to find out the full set of what has to be 34 | # enabled to make the following work. 35 | 36 | option SETJMP on 37 | option STDIO on 38 | option READ_EXPAND on 39 | option READ_STRIP_16_TO_8 on 40 | option USER_LIMITS on 41 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/decoder/pngusr.h: -------------------------------------------------------------------------------- 1 | /* minrdpngconf.h: headers to make a minimal png-read-only library 2 | * 3 | * Copyright (c) 2007, 2010-2013 Glenn Randers-Pehrson 4 | * 5 | * This code is released under the libpng license. 6 | * For conditions of distribution and use, see the disclaimer 7 | * and license in png.h 8 | * 9 | * Derived from pngcrush.h, Copyright 1998-2007, Glenn Randers-Pehrson 10 | */ 11 | 12 | #ifndef MINRDPNGCONF_H 13 | #define MINRDPNGCONF_H 14 | 15 | /* To include pngusr.h set -DPNG_USER_CONFIG in CPPFLAGS */ 16 | 17 | /* List options to turn off features of the build that do not 18 | * affect the API (so are not recorded in pnglibconf.h) 19 | */ 20 | 21 | #define PNG_ALIGN_TYPE PNG_ALIGN_NONE 22 | 23 | #endif /* MINRDPNGCONF_H */ 24 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/encoder/README: -------------------------------------------------------------------------------- 1 | This demonstrates the use of PNG_USER_CONFIG and pngusr.h 2 | 3 | The makefile builds a minimal write-only encoder with embedded libpng 4 | and zlib. 5 | 6 | Specify the location of the zlib source (1.2.1 or later) as ZLIBSRC 7 | on the make command line. 8 | 9 | If you prefer to use the shared libraries, go to contrib/pngminus 10 | and build the pnm2png application there. 11 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/encoder/pngusr.dfa: -------------------------------------------------------------------------------- 1 | # pngminim/encoder/pngusr.dfa 2 | # 3 | # Copyright (c) 2010-2013 Glenn Randers-Pehrson 4 | # 5 | # This code is released under the libpng license. 6 | # For conditions of distribution and use, see the disclaimer 7 | # and license in png.h 8 | 9 | # First all the build options off: 10 | 11 | everything = off 12 | 13 | # Switch on the write code - this makes a minimalist encoder 14 | 15 | option WRITE on 16 | 17 | # These 2 options are required if you need to read PBM (P1 or P4) files. 18 | option WRITE_INVERT on 19 | option WRITE_PACK on 20 | 21 | # You must choose fixed or floating point arithmetic: 22 | # option FLOATING_POINT on 23 | 24 | option FIXED_POINT on 25 | 26 | # You must chose the internal fixed point implementation or to 27 | # use the system floating point. The latter is considerably 28 | # smaller (by about 1kbyte on an x86 system): 29 | # option FLOATING_ARITHMETIC on 30 | 31 | option FLOATING_ARITHMETIC off 32 | 33 | # Your program will probably need other options. The example 34 | # program here, pnm2pngm, requires the following. Take a look 35 | # at pnglibconf.h to find out the full set of what has to be 36 | # enabled to make the following work. 37 | 38 | option SETJMP on 39 | option STDIO on 40 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/encoder/pngusr.h: -------------------------------------------------------------------------------- 1 | /* minwrpngconf.h: headers to make a minimal png-write-only library 2 | * 3 | * Copyright (c) 2007, 2010-2013 Glenn Randers-Pehrson 4 | * 5 | * This code is released under the libpng license. 6 | * For conditions of distribution and use, see the disclaimer 7 | * and license in png.h 8 | * 9 | * Derived from pngcrush.h, Copyright 1998-2007, Glenn Randers-Pehrson 10 | */ 11 | 12 | #ifndef MINWRPNGCONF_H 13 | #define MINWRPNGCONF_H 14 | 15 | /* To include pngusr.h set -DPNG_USER_CONFIG in CPPFLAGS */ 16 | 17 | /* List options to turn off features of the build that do not 18 | * affect the API (so are not recorded in pnglibconf.h) 19 | */ 20 | 21 | #define PNG_ALIGN_TYPE PNG_ALIGN_NONE 22 | 23 | #endif /* MINWRPNGCONF_H */ 24 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/preader/README: -------------------------------------------------------------------------------- 1 | This demonstrates the use of PNG_USER_CONFIG and pngusr.h 2 | 3 | The makefile builds a minimal read-only progressive decoder with 4 | embedded libpng, zlib and your system's X library. 5 | 6 | Specify the location of the zlib source (1.2.1 or later) as ZLIBSRC 7 | on the make command line. 8 | 9 | Edit makefile if required, to find your X library and include files, 10 | then 11 | 12 | make ZLIBSRC=directory 13 | 14 | If you prefer to use the shared libraries, go to contrib/gregbook 15 | and build the rpng2-x application there. 16 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/preader/pngusr.dfa: -------------------------------------------------------------------------------- 1 | # pngminim/preader/pngusr.dfa 2 | # 3 | # Copyright (c) 2010-2013 Glenn Randers-Pehrson 4 | # 5 | # This code is released under the libpng license. 6 | # For conditions of distribution and use, see the disclaimer 7 | # and license in png.h 8 | 9 | # First all the build options off: 10 | 11 | everything = off 12 | 13 | # Just switch on the progressive read code 14 | 15 | option PROGRESSIVE_READ on 16 | 17 | # You may choose fixed or floating point APIs: 18 | # option FLOATING_POINT on 19 | 20 | option FIXED_POINT on 21 | 22 | # You must chose the internal fixed point implementation or to 23 | # use the system floating point. The latter is considerably 24 | # smaller (by about 1kbyte on an x86 system): 25 | 26 | option FLOATING_ARITHMETIC on 27 | # option FLOATING_ARITHMETIC off 28 | 29 | # Your program will probably need other options. The example 30 | # program here, rpng2-x, requires the following. Take a look 31 | # at pnglibconf.h to find out the full set of what has to be 32 | # enabled to make the following work. 33 | 34 | option SETJMP on 35 | option STDIO on 36 | option READ_bKGD on 37 | option READ_GAMMA on 38 | option READ_EXPAND on 39 | option READ_STRIP_16_TO_8 on 40 | option READ_GRAY_TO_RGB on 41 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminim/preader/pngusr.h: -------------------------------------------------------------------------------- 1 | /* minrdpngconf.h: headers to make a minimal png-read-only library 2 | * 3 | * Copyright (c) 2009, 2010-2013 Glenn Randers-Pehrson 4 | * 5 | * This code is released under the libpng license. 6 | * For conditions of distribution and use, see the disclaimer 7 | * and license in png.h 8 | * 9 | * Derived from pngcrush.h, Copyright 1998-2007, Glenn Randers-Pehrson 10 | */ 11 | 12 | #ifndef MINPRDPNGCONF_H 13 | #define MINPRDPNGCONF_H 14 | 15 | /* To include pngusr.h set -DPNG_USER_CONFIG in CPPFLAGS */ 16 | 17 | /* List options to turn off features of the build that do not 18 | * affect the API (so are not recorded in pnglibconf.h) 19 | */ 20 | 21 | #define PNG_ALIGN_TYPE PNG_ALIGN_NONE 22 | 23 | #endif /* MINPRDPNGCONF_H */ 24 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminus/makefile.tc3: -------------------------------------------------------------------------------- 1 | # Makefile for PngMinus (png2pnm and pnm2png) 2 | # TurboC++ 3.0 3 | 4 | CC=tcc -Ic:\tc3\inc 5 | LD=tcc -Lc:\tc3\lib 6 | LB=tlib 7 | RM=del 8 | CP=copy 9 | MODEL=l 10 | CPPFLAGS=-I..\libpng -I..\zlib 11 | CFLAGS=-O -m$(MODEL) 12 | LDFLAGS=-m$(MODEL) -L..\libpng -L..\zlib 13 | C=.c 14 | O=.obj 15 | L=.lib 16 | E=.exe 17 | 18 | # dependencies 19 | 20 | all: png2pnm$(E) pnm2png$(E) 21 | 22 | png2pnm$(O): png2pnm$(C) 23 | $(CC) -c $(CPPFLAGS) $(CFLAGS) png2pnm$(C) 24 | 25 | png2pnm$(E): png2pnm$(O) 26 | $(LD) $(LDFLAGS) png2pnm$(O) libpng$(L) zlib$(L) 27 | 28 | pnm2png$(O): pnm2png$(C) 29 | $(CC) -c $(CPPFLAGS) $(CFLAGS) pnm2png$(C) 30 | 31 | pnm2png$(E): pnm2png$(O) 32 | $(LD) $(LDFLAGS) pnm2png$(O) libpng$(L) zlib$(L) 33 | 34 | clean: 35 | $(RM) *$(O) 36 | $(RM) *$(E) 37 | 38 | # End of makefile for png2pnm / pnm2png 39 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminus/pngminus.bat: -------------------------------------------------------------------------------- 1 | make -f makefile.tc3 2 | call png2pnm.bat 3 | call pnm2png.bat 4 | 5 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngminus/pngminus.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | make -f makefile.std 3 | sh png2pnm.sh 4 | sh pnm2png.sh 5 | 6 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn0g01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn0g01.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn0g02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn0g02.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn0g04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn0g04.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn0g08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn0g08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn0g16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn0g16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn2c08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn2c08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn2c16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn2c16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn3p01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn3p01.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn3p02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn3p02.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn3p04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn3p04.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn3p08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn3p08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn4a08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn4a08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn4a16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn4a16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn6a08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn6a08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/basn6a16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/basn6a16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbbn0g01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbbn0g01.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbbn0g02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbbn0g02.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbbn0g04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbbn0g04.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbbn2c16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbbn2c16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbbn3p08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbbn3p08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbgn2c16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbgn2c16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbgn3p08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbgn3p08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbrn2c08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbrn2c08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbwn0g16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbwn0g16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbwn3p08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbwn3p08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftbyn3p08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftbyn3p08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftp0n0g08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftp0n0g08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftp0n2c08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftp0n2c08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftp0n3p08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftp0n3p08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/pngsuite/ftp1n3p08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/pngsuite/ftp1n3p08.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-1-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-1-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-1-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-1-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-1-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-1-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-1-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-1-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-1-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-1-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-1-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-1-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-1-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-1-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-1.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-16-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-16-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-16-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-16-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-16-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-16-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-16-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-16-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-16-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-16-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-16-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-16-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-16-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-16-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-2-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-2-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-2-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-2-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-2-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-2-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-2-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-2-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-2-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-2-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-2-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-2-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-2-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-2-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-2.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-4-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-4-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-4-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-4-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-4-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-4-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-4-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-4-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-4-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-4-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-4-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-4-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-4-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-4-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-4.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-8-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-8-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-8-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-8-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-8-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-8-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-8-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-8-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-8-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-8-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-8-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-8-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-alpha-16-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-alpha-16-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-alpha-16-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-alpha-16-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-alpha-16-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-alpha-16-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-alpha-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-alpha-16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-alpha-8-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-alpha-8-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-alpha-8-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-alpha-8-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-alpha-8-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-alpha-8-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/gray-alpha-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/gray-alpha-8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-1-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-1-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-1-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-1-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-1-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-1-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-1-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-1-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-1-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-1-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-1-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-1-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-1-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-1-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-1.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-2-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-2-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-2-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-2-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-2-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-2-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-2-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-2-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-2-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-2-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-2-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-2-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-2-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-2-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-2.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-4-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-4-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-4-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-4-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-4-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-4-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-4-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-4-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-4-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-4-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-4-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-4-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-4-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-4-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-4.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-8-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-8-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-8-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-8-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-8-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-8-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-8-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-8-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-8-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-8-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-8-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-8-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/palette-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/palette-8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-16-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-16-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-16-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-16-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-16-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-16-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-16-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-16-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-16-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-16-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-16-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-16-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-16-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-16-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-8-1.8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-8-1.8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-8-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-8-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-8-linear-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-8-linear-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-8-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-8-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-8-sRGB-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-8-sRGB-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-8-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-8-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-8-tRNS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-8-tRNS.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-alpha-16-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-alpha-16-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-alpha-16-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-alpha-16-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-alpha-16-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-alpha-16-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-alpha-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-alpha-16.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-alpha-8-1.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-alpha-8-1.8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-alpha-8-linear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-alpha-8-linear.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-alpha-8-sRGB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-alpha-8-sRGB.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/testpngs/rgb-alpha-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/testpngs/rgb-alpha-8.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/tools/README.txt: -------------------------------------------------------------------------------- 1 | This directory (contrib/tools) contains tools used by the authors of libpng. 2 | 3 | Code and data placed in this directory is not required to build libpng, 4 | however the code in this directory has been used to generate data or code in 5 | the body of the libpng source. The source code identifies where this has 6 | been done. Code in this directory may not compile on all operating systems 7 | that libpng supports. 8 | 9 | NO COPYRIGHT RIGHTS ARE CLAIMED TO ANY OF THE FILES IN THIS DIRECTORY. 10 | 11 | To the extent possible under law, the authors have waived all copyright and 12 | related or neighboring rights to this work. This work is published from: 13 | United States. 14 | 15 | The files may be used freely in any way. 16 | 17 | The source code and comments in this directory are the original work of the 18 | people named below. No other person or organization has made contributions to 19 | the work in this directory. 20 | 21 | ORIGINAL AUTHORS 22 | The following people have contributed to the code in this directory. None 23 | of the people below claim any rights with regard to the contents of this 24 | directory. 25 | 26 | John Bowler 27 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/tools/reindent: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # reindent a libpng C source 4 | 5 | # COPYRIGHT: Written by Glenn Randers-Pehrson, 2016. 6 | # To the extent possible under law, the author has waived all copyright and 7 | # related or neighboring rights to this work. This work is published from: 8 | # United States. 9 | 10 | # Usage: 11 | # reindent inputtabsize outputtabsize inputcontinuestring outputcontinuestring 12 | # 13 | # Assumes that continued lines begin with indentation plus one space, and 14 | # that continued comments begin with indentation plus " *". 15 | # 16 | # eg, to change libpng coding style from 3-space indentation with 4-space 17 | # continuations to 4-space indentation with 2-space continuations: 18 | # 19 | # reindent 3 4 "\t " " " < example.c > example.c_4_2 20 | # and to restore the file back to libpng coding style 21 | # reindent 4 3 " " " " < example.c_4_2 > example.c_3_4 22 | 23 | unexpand --first-only --t $1 | \ 24 | sed -e "/^ *$3[^\*]/{s/$3/$4/}" | \ 25 | expand -t $2 26 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/tools/sRGB.h: -------------------------------------------------------------------------------- 1 | /*- 2 | * sRGB.h 3 | * 4 | * Last changed in libpng 1.6.0 [February 14, 2013] 5 | * 6 | * COPYRIGHT: Written by John Cunningham Bowler, 2013. 7 | * To the extent possible under law, the author has waived all copyright and 8 | * related or neighboring rights to this work. This work is published from: 9 | * United States. 10 | * 11 | * Utility file; not actually a header, this contains definitions of sRGB 12 | * calculation functions for inclusion in those test programs that need them. 13 | * 14 | * All routines take and return a floating point value in the range 15 | * 0 to 1.0, doing a calculation according to the sRGB specification 16 | * (in fact the source of the numbers is the wikipedia article at 17 | * http://en.wikipedia.org/wiki/SRGB). 18 | */ 19 | static double 20 | sRGB_from_linear(double l) 21 | { 22 | if (l <= 0.0031308) 23 | l *= 12.92; 24 | 25 | else 26 | l = 1.055 * pow(l, 1/2.4) - 0.055; 27 | 28 | return l; 29 | } 30 | 31 | static double 32 | linear_from_sRGB(double s) 33 | { 34 | if (s <= 0.04045) 35 | return s / 12.92; 36 | 37 | else 38 | return pow((s+0.055)/1.055, 2.4); 39 | } 40 | 41 | static double 42 | YfromRGB(double r, double g, double b) 43 | { 44 | /* Use the sRGB (rounded) coefficients for Rlinear, Glinear, Blinear to get 45 | * the CIE Y value (also linear). 46 | */ 47 | return 0.2126 * r + 0.7152 * g + 0.0722 * b; 48 | } 49 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/visupng/PngFile.h: -------------------------------------------------------------------------------- 1 | /*------------------------------------------*/ 2 | /* PNGFILE.H -- Header File for pngfile.c*/ 3 | /*------------------------------------------*/ 4 | 5 | /* Copyright 2000, Willem van Schaik.*/ 6 | 7 | /* This code is released under the libpng license.*/ 8 | /* For conditions of distribution and use, see the disclaimer*/ 9 | /* and license in png.h*/ 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | void PngFileInitialize (HWND hwnd) ; 17 | BOOL PngFileOpenDlg (HWND hwnd, PTSTR pstrFileName, PTSTR pstrTitleName) ; 18 | BOOL PngFileSaveDlg (HWND hwnd, PTSTR pstrFileName, PTSTR pstrTitleName) ; 19 | 20 | BOOL PngLoadImage (PTSTR pstrFileName, png_byte **ppbImageData, 21 | int *piWidth, int *piHeight, int *piChannels, png_color *pBkgColor); 22 | BOOL PngSaveImage (PTSTR pstrFileName, png_byte *pDiData, 23 | int iWidth, int iHeight, png_color BkgColor); 24 | 25 | #ifndef PNG_STDIO_SUPPORTED 26 | static void png_read_data(png_structp png_ptr, png_bytep data, png_size_t length); 27 | static void png_write_data(png_structp png_ptr, png_bytep data, png_size_t length); 28 | static void png_flush(png_structp png_ptr); 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/visupng/VisualPng.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "VisualPng"=.\VisualPng.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/visupng/VisualPng.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/visupng/VisualPng.ico -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/visupng/VisualPng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/libretro-deps/libpng/contrib/visupng/VisualPng.png -------------------------------------------------------------------------------- /libretro-deps/libpng/contrib/visupng/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Developer Studio generated include file. 3 | // Used by VisualPng.rc 4 | // 5 | #define IDM_FILE_OPEN 40001 6 | #define IDM_FILE_SAVE 40002 7 | #define IDM_FILE_NEXT 40003 8 | #define IDM_FILE_PREVIOUS 40004 9 | #define IDM_FILE_EXIT 40005 10 | #define IDM_OPTIONS_BACKGROUND 40006 11 | #define IDM_OPTIONS_STRETCH 40007 12 | #define IDM_HELP_ABOUT 40008 13 | 14 | // Next default values for new objects 15 | // 16 | #ifdef APSTUDIO_INVOKED 17 | #ifndef APSTUDIO_READONLY_SYMBOLS 18 | #define _APS_NEXT_RESOURCE_VALUE 113 19 | #define _APS_NEXT_COMMAND_VALUE 40009 20 | #define _APS_NEXT_CONTROL_VALUE 1001 21 | #define _APS_NEXT_SYMED_VALUE 101 22 | #endif 23 | #endif 24 | -------------------------------------------------------------------------------- /libretro-deps/libpng/pngusr.dfa: -------------------------------------------------------------------------------- 1 | # pngusr.dfa 2 | # 3 | # Build time configuration of libpng 4 | # 5 | # Enter build configuration options in this file 6 | # 7 | # Security settings: by default these limits are unset, you can change them 8 | # here by entering the appropriate values as #defines preceded by '@' (to cause, 9 | # them to be passed through to the build of pnglibconf.h), for example: 10 | # 11 | # @# define PNG_USER_WIDTH_MAX 65535 12 | # @# define PNG_USER_HEIGHT_MAX 65535 13 | # @# define PNG_USER_CHUNK_CACHE_MAX 256 14 | # @# define PNG_USER_CHUNK_MALLOC_MAX 640000 15 | -------------------------------------------------------------------------------- /libretro/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_ABI := armeabi-v7a arm64-v8a x86 x86_64 2 | APP_STL := gnustl_static 3 | -------------------------------------------------------------------------------- /libretro/libretro_memory.h: -------------------------------------------------------------------------------- 1 | #ifndef M64P_LIBRETRO_MEMORY_H 2 | #define M64P_LIBRETRO_MEMORY_H 3 | 4 | #include 5 | #define EEPROM_MAX_SIZE 0x800 6 | #include 7 | #include 8 | #include 9 | 10 | typedef struct _save_memory_data 11 | { 12 | uint8_t eeprom[EEPROM_MAX_SIZE]; 13 | uint8_t mempack[MEMPAK_SIZE * 4]; 14 | uint8_t sram[SRAM_SIZE]; 15 | uint8_t flashram[FLASHRAM_SIZE]; 16 | } save_memory_data; 17 | 18 | extern save_memory_data saved_memory; 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /libretro/libretro_perf.h: -------------------------------------------------------------------------------- 1 | #ifndef _LIBRETRO_PERF_H 2 | #define _LIBRETRO_PERF_H 3 | 4 | #include "libretro.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | extern struct retro_perf_callback perf_cb; 11 | 12 | #if 1 13 | #define RETRO_PERFORMANCE_INIT(perf_cb, name) static struct retro_perf_counter name = {#name}; if (!name.registered) perf_cb.perf_register(&(name)) 14 | #define RETRO_PERFORMANCE_START(perf_cb, name) perf_cb.perf_start(&(name)) 15 | #define RETRO_PERFORMANCE_STOP(perf_cb, name) perf_cb.perf_stop(&(name)) 16 | #else 17 | #define RETRO_PERFORMANCE_INIT(perf_cb, name) 18 | #define RETRO_PERFORMANCE_START(perf_cb, name) 19 | #define RETRO_PERFORMANCE_STOP(perf_cb, name) 20 | #endif 21 | 22 | #ifdef __cplusplus 23 | } 24 | #endif 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /libretro/libretro_private.h: -------------------------------------------------------------------------------- 1 | #ifndef _LIBRETRO_PRIVATE_H_ 2 | #define _LIBRETRO_PRIVATE_H_ 3 | 4 | #include 5 | #include 6 | #include "libretro.h" 7 | #include "libretro_perf.h" 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | extern unsigned int FAKE_SDL_TICKS; 14 | 15 | extern retro_get_cpu_features_t perf_get_cpu_features_cb; 16 | extern retro_perf_get_counter_t perf_get_counter_cb; 17 | extern retro_log_printf_t log_cb; 18 | extern retro_perf_register_t perf_register_cb; 19 | bool libretro_swap_buffer; 20 | void retro_return(); 21 | 22 | #define SDL_GetTicks() FAKE_SDL_TICKS 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif 27 | 28 | #ifdef _MSC_VER 29 | #define strcasecmp stricmp 30 | #endif 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /libretro/link.T: -------------------------------------------------------------------------------- 1 | { 2 | global: retro_*; 3 | local: *; 4 | }; 5 | 6 | -------------------------------------------------------------------------------- /mupen64plus-core/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | # normal text files 4 | *.6 text 5 | AUTHORS text 6 | *.c text 7 | *.cfg text 8 | *.cht text 9 | *.conf text 10 | COPYING text 11 | *.cpp text 12 | *.def text 13 | *-license text 14 | *.h text 15 | *.html text 16 | *.ini text 17 | INSTALL text 18 | LICENSES text 19 | Makefile text 20 | *.py text 21 | README text 22 | RELEASE text 23 | *.S text 24 | *.sh text 25 | *.txt text 26 | *.ver text 27 | 28 | # windows specific text files 29 | *.sln text eol=crlf 30 | *.vcproj text eol=crlf 31 | *.vcxproj text eol=crlf 32 | *.vcxproj.filters text eol=crlf 33 | 34 | # binary files 35 | *.gz binary 36 | *.ttf binary 37 | cursor.tex binary 38 | font.tex binary 39 | -------------------------------------------------------------------------------- /mupen64plus-core/.gitignore: -------------------------------------------------------------------------------- 1 | /projects/unix/_obj*/ 2 | /projects/unix/libmupen64plus*.so* 3 | -------------------------------------------------------------------------------- /mupen64plus-core/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | dist: trusty 3 | language: cpp 4 | compiler: 5 | - gcc 6 | - clang 7 | before_install: 8 | - sudo apt-get update -qq 9 | - sudo apt-get install -y libsdl1.2-dev libsdl2-dev libfreetype6-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev pkg-config zlib1g-dev liblircclient-dev binutils-dev 10 | env: 11 | - OSD=0 12 | - OSD=1 13 | - NO_ASM=1 14 | - LIRC=1 15 | - PROFILE=1 16 | - DEBUGGER=1 17 | - DBG_CORE=1 18 | - DBG_COUNT=1 19 | - DBG_COMPARE=1 20 | - COUNT_INSTR=1 21 | script: 22 | - make -C projects/unix V=1 clean && LDFLAGS="-Wl,--no-add-needed -Wl,--no-undefined" OPTFLAGS="-O2" make SDL_CONFIG=sdl-config CC="${CC}" CXX="${CXX}" -j$(nproc) -C projects/unix V=1 all 23 | - make -C projects/unix V=1 clean && LDFLAGS="-Wl,--no-add-needed -Wl,--no-undefined" OPTFLAGS="-O2" make SDL_CONFIG=sdl2-config CC="${CC}" CXX="${CXX}" -j$(nproc) -C projects/unix V=1 all 24 | -------------------------------------------------------------------------------- /mupen64plus-core/INSTALL: -------------------------------------------------------------------------------- 1 | Mupen64Plus-Core INSTALL 2 | ------------------------ 3 | 4 | This text file was written to explain the installation process of the 5 | Mupen64Plus-Core module. 6 | 7 | If this module is part of a Mupen64Plus source code bundle, the user should run 8 | the "m64p_install.sh" script in the root of the unzipped bundle to install all 9 | of the included modules in the bundle. 10 | 11 | If this module is a standalone source code release, you should build the library 12 | from source code and install it via the makefile, like this: 13 | 14 | $ cd projects/unix 15 | $ make all 16 | $ sudo make install 17 | 18 | If you want to build the Mupen64Plus-Core module for installation in a home 19 | folder for a single user, you may build it like this (replacing 20 | with your desired local installation path): 21 | 22 | $ cd projects/unix 23 | $ make all SHAREDIR= 24 | $ make install LIBDIR= SHAREDIR= 25 | 26 | 27 | -------------------------------------------------------------------------------- /mupen64plus-core/data/font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/mupen64plus-core/data/font.ttf -------------------------------------------------------------------------------- /mupen64plus-core/doc/emuwiki-api-doc/Home.mediawiki: -------------------------------------------------------------------------------- 1 | =User Documentation= 2 | == Configuration Parameters == 3 | === [[Mupen64Plus Core Parameters|Core Parameters]] === 4 | 5 | This section lists the names and descriptions of all of the configuration parameters used by the Core library. 6 | 7 | === [[Mupen64Plus Plugin Parameters|Plugin Parameters]] === 8 | 9 | This section lists the names and descriptions of all of the configuration parameters used by the Plugin libraries. 10 | 11 | =Developer Documentation= 12 | 13 | == [[Mupen64Plus v2.0 Core API v1.0|Mupen64Plus v2.0 API]] == 14 | 15 | The interface between Mupen64Plus and its compatible plugins is (slightly) different from other N64 emulators. The new API is described in detail in the documentation here. 16 | 17 | -------------------------------------------------------------------------------- /mupen64plus-core/src/main/lirc.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | lirc.h - description 3 | ------------------- 4 | begin : Friday 11 Jan 2008 5 | copyright : (C) 2008 by DarkJezter 6 | ***************************************************************************/ 7 | 8 | /*************************************************************************** 9 | * * 10 | * This program is free software; you can redistribute it and/or modify * 11 | * it under the terms of the GNU General Public License as published by * 12 | * the Free Software Foundation; either version 2 of the License, or * 13 | * (at your option) any later version. * 14 | * * 15 | ***************************************************************************/ 16 | 17 | #ifndef __LIRC_H__ 18 | #define __LIRC_H__ 19 | 20 | extern void lircStart(void); 21 | extern void lircStop(void); 22 | extern void lircCheckInput(void); 23 | 24 | #endif //__LIRC_H__ 25 | 26 | -------------------------------------------------------------------------------- /mupen64plus-core/src/r4300/new_dynarec/arm/assem_arm.h: -------------------------------------------------------------------------------- 1 | #ifndef M64P_R4300_ASSEM_ARM_H 2 | #define M64P_R4300_ASSEM_ARM_H 3 | 4 | #define HOST_REGS 13 5 | #define HOST_CCREG 10 6 | #define HOST_BTREG 8 7 | #define EXCLUDE_REG 11 8 | 9 | #define HOST_IMM8 1 10 | #define HAVE_CMOV_IMM 1 11 | #define CORTEX_A8_BRANCH_PREDICTION_HACK 1 12 | #define USE_MINI_HT 1 13 | //#define REG_PREFETCH 1 14 | #define HAVE_CONDITIONAL_CALL 1 15 | #define RAM_OFFSET 1 16 | 17 | /* ARM calling convention: 18 | r0-r3, r12: caller-save 19 | r4-r11: callee-save */ 20 | 21 | #define ARG1_REG 0 22 | #define ARG2_REG 1 23 | #define ARG3_REG 2 24 | #define ARG4_REG 3 25 | 26 | /* GCC register naming convention: 27 | r10 = sl (base) 28 | r11 = fp (frame pointer) 29 | r12 = ip (scratch) 30 | r13 = sp (stack pointer) 31 | r14 = lr (link register) 32 | r15 = pc (program counter) */ 33 | 34 | #define FP 11 35 | #define LR 14 36 | #define HOST_TEMPREG 14 37 | 38 | // Note: FP is set to &dynarec_local when executing generated code. 39 | // Thus the local variables are actually global and not on the stack. 40 | 41 | extern char *invc_ptr; 42 | extern char extra_memory[33554432]; 43 | 44 | #define BASE_ADDR ((int)(&extra_memory)) 45 | //#define TARGET_SIZE_2 24 // 2^24 = 16 megabytes 46 | #define TARGET_SIZE_2 25 // 2^25 = 32 megabytes 47 | 48 | #endif /* M64P_R4300_ASSEM_ARM_H */ 49 | -------------------------------------------------------------------------------- /mupen64plus-core/src/r4300/new_dynarec/x86/assem_x86.h: -------------------------------------------------------------------------------- 1 | #ifndef M64P_R4300_ASSEM_X86_H 2 | #define M64P_R4300_ASSEM_X86_H 3 | 4 | #define HOST_REGS 8 5 | #define HOST_CCREG 6 6 | #define HOST_BTREG 5 7 | #define EXCLUDE_REG 4 8 | 9 | //#define IMM_PREFETCH 1 10 | #define HOST_IMM_ADDR32 1 11 | #define INVERTED_CARRY 1 12 | #define DESTRUCTIVE_WRITEBACK 1 13 | #define DESTRUCTIVE_SHIFT 1 14 | 15 | #define USE_MINI_HT 1 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | extern void *base_addr; // Code generator target address 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | 25 | #define TARGET_SIZE_2 25 // 2^25 = 32 megabytes 26 | #define JUMP_TABLE_SIZE 0 // Not needed for 32-bit x86 27 | 28 | /* x86 calling convention: 29 | caller-save: %eax %ecx %edx 30 | callee-save: %ebp %ebx %esi %edi */ 31 | 32 | #endif /* M64P_R4300_ASSEM_X86_H */ 33 | -------------------------------------------------------------------------------- /mupen64plus-core/tools/joymodel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/mupen64plus-core/tools/joymodel.png -------------------------------------------------------------------------------- /mupen64plus-core/tools/m64p_helper_scripts.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/mupen64plus-libretro/ab8134ac90a567581df6de4fc427dd67bfad1b17/mupen64plus-core/tools/m64p_helper_scripts.tar.gz -------------------------------------------------------------------------------- /mupen64plus-core/tools/osx_build_instructions.txt: -------------------------------------------------------------------------------- 1 | Mupen64plus build under OSX 10.9.5 (Mavericks) with Xcode 6.1.1 2 | 3 | 1. Install command-line tools through xcode 4 | - Xcode --> Preferences... --> Downloads tab --> Components page --> Command Line Tools 5 | 2. Install mac ports 6 | - download page: http://www.macports.org/install.php 7 | - .pkg installer for Mavericks 8 | 3. Install Git via macports 9 | - command line: "sudo port install git” 10 | 4. Get m64p_helper_scripts.tar.gz from https://code.google.com/p/mupen64plus/wiki/CompilingFromGit 11 | - unzip into build folder 12 | - run "./m64p_get.sh" 13 | 5. Install other build dependencies: 14 | - sudo port install pkgconfig 15 | - sudo port install libpng 16 | - edit /opt/local/etc/macports/variants.conf: 17 | - add: +no_x11 +quartz 18 | - sudo port install libSDL2 19 | - sudo port install freetype 20 | - sudo port install boost 21 | 6. Run "./m64p_build.sh" 22 | 23 | -------------------------------------------------------------------------------- /mupen64plus-rsp-cxd4/rsp_api_export.ver: -------------------------------------------------------------------------------- 1 | { global: 2 | PluginStartup; 3 | PluginShutdown; 4 | PluginGetVersion; 5 | RomOpen; 6 | DoRspCycles; 7 | InitiateRSP; 8 | RomClosed; 9 | local: *; }; 10 | -------------------------------------------------------------------------------- /mupen64plus-rsp-cxd4/vu/add.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************\ 2 | * Project: Instruction Mnemonics for Vector Unit Computational Adds * 3 | * Authors: Iconoclast * 4 | * Release: 2014.10.15 * 5 | * License: CC0 Public Domain Dedication * 6 | * * 7 | * To the extent possible under law, the author(s) have dedicated all copyright * 8 | * and related and neighboring rights to this software to the public domain * 9 | * worldwide. This software is distributed without any warranty. * 10 | * * 11 | * You should have received a copy of the CC0 Public Domain Dedication along * 12 | * with this software. * 13 | * If not, see . * 14 | \******************************************************************************/ 15 | 16 | #ifndef _ADD_H_ 17 | #define _ADD_H_ 18 | 19 | #include "vu.h" 20 | 21 | VECTOR_EXTERN 22 | VADD (v16 vs, v16 vt); 23 | VECTOR_EXTERN 24 | VSUB (v16 vs, v16 vt); 25 | VECTOR_EXTERN 26 | VABS (v16 vs, v16 vt); 27 | VECTOR_EXTERN 28 | VADDC (v16 vs, v16 vt); 29 | VECTOR_EXTERN 30 | VSUBC (v16 vs, v16 vt); 31 | VECTOR_EXTERN 32 | VSAW (v16 vs, v16 vt); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /mupen64plus-rsp-cxd4/vu/logical.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************\ 2 | * Project: Instruction Mnemonics for Vector Unit Computational Bit-Wise Logic * 3 | * Authors: Iconoclast * 4 | * Release: 2014.10.15 * 5 | * License: CC0 Public Domain Dedication * 6 | * * 7 | * To the extent possible under law, the author(s) have dedicated all copyright * 8 | * and related and neighboring rights to this software to the public domain * 9 | * worldwide. This software is distributed without any warranty. * 10 | * * 11 | * You should have received a copy of the CC0 Public Domain Dedication along * 12 | * with this software. * 13 | * If not, see . * 14 | \******************************************************************************/ 15 | 16 | #ifndef _LOGICAL_H_ 17 | #define _LOGICAL_H_ 18 | 19 | #include "vu.h" 20 | 21 | VECTOR_EXTERN 22 | VAND (v16 vs, v16 vt); 23 | VECTOR_EXTERN 24 | VNAND (v16 vs, v16 vt); 25 | VECTOR_EXTERN 26 | VOR (v16 vs, v16 vt); 27 | VECTOR_EXTERN 28 | VNOR (v16 vs, v16 vt); 29 | VECTOR_EXTERN 30 | VXOR (v16 vs, v16 vt); 31 | VECTOR_EXTERN 32 | VNXOR (v16 vs, v16 vt); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /mupen64plus-rsp-cxd4/vu/pack.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************\ 2 | * Project: Instruction Mnemonics for Vector Unit Computational Packs * 3 | * Authors: Iconoclast * 4 | * Release: 2014.10.15 * 5 | * License: CC0 Public Domain Dedication * 6 | * * 7 | * To the extent possible under law, the author(s) have dedicated all copyright * 8 | * and related and neighboring rights to this software to the public domain * 9 | * worldwide. This software is distributed without any warranty. * 10 | * * 11 | * You should have received a copy of the CC0 Public Domain Dedication along * 12 | * with this software. * 13 | * If not, see . * 14 | \******************************************************************************/ 15 | 16 | #ifndef _PACK_H_ 17 | #define _PACK_H_ 18 | 19 | #include "vu.h" 20 | 21 | VECTOR_EXTERN 22 | VEXTT (v16 vs, v16 vt); 23 | VECTOR_EXTERN 24 | VEXTQ (v16 vs, v16 vt); 25 | VECTOR_EXTERN 26 | VEXTN (v16 vs, v16 vt); 27 | VECTOR_EXTERN 28 | VINST (v16 vs, v16 vt); 29 | VECTOR_EXTERN 30 | VINSQ (v16 vs, v16 vt); 31 | VECTOR_EXTERN 32 | VINSN (v16 vs, v16 vt); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /mupen64plus-rsp-hle/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | # normal text files 4 | *.6 text 5 | AUTHORS text 6 | *.c text 7 | *.cfg text 8 | *.cht text 9 | *.conf text 10 | COPYING text 11 | *.cpp text 12 | *.def text 13 | *-license text 14 | *.h text 15 | *.html text 16 | *.ini text 17 | INSTALL text 18 | LICENSES text 19 | Makefile text 20 | *.py text 21 | README text 22 | RELEASE text 23 | *.S text 24 | *.sh text 25 | *.txt text 26 | *.ver text 27 | 28 | # windows specific text files 29 | *.sln text eol=crlf 30 | *.vcproj text eol=crlf 31 | *.vcxproj text eol=crlf 32 | *.vcxproj.filters text eol=crlf 33 | 34 | # binary files 35 | *.gz binary 36 | *.ttf binary 37 | cursor.tex binary 38 | font.tex binary 39 | -------------------------------------------------------------------------------- /mupen64plus-rsp-hle/.gitignore: -------------------------------------------------------------------------------- 1 | /projects/unix/_obj*/ 2 | /projects/unix/mupen64plus-rsp-hle*.so 3 | -------------------------------------------------------------------------------- /mupen64plus-rsp-hle/INSTALL: -------------------------------------------------------------------------------- 1 | Mupen64Plus-RSP-HLE INSTALL 2 | --------------------------- 3 | 4 | This text file was written to explain the installation process of the 5 | Mupen64Plus-RSP-HLE plugin. 6 | 7 | If this module is part of a Mupen64Plus source code bundle, the user should run 8 | the "m64p_install.sh" script in the root of the unzipped bundle to install all 9 | of the included modules in the bundle. 10 | 11 | If this module is a standalone source code release, you should build the library 12 | from source code and install it via the makefile, like this: 13 | 14 | $ cd projects/unix 15 | $ make all 16 | $ sudo make install 17 | 18 | If you want to build the Mupen64Plus-RSP-HLE module for installation in a home 19 | folder for a single user, you may build it like this (replacing 20 | with your desired local installation path): 21 | 22 | $ cd projects/unix 23 | $ make all 24 | $ make install LIBDIR= 25 | 26 | 27 | -------------------------------------------------------------------------------- /mupen64plus-rsp-hle/src/rsp_api_export.ver: -------------------------------------------------------------------------------- 1 | { global: 2 | PluginStartup; 3 | PluginShutdown; 4 | PluginGetVersion; 5 | DoRspCycles; 6 | InitiateRSP; 7 | RomClosed; 8 | local: *; }; 9 | --------------------------------------------------------------------------------