├── .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 |
--------------------------------------------------------------------------------