2761 Commits
Author SHA1 Message Date
M4xw b5e1c6fc3f Yeet outdated headers 2026-09-29 15:42:00 +02:00
JoshuaEagles ddf8d06fe3 Add Memory Map Setup (#545)
* add memory map setup

* move retroarch memory map setup to device.c

* update retroarch memory map setup to map address space properly

* add memory map flags for the retroarch memory maps

* refactor to map the entirety of KSEG0 and KSEG1

* finish mapping the whole KSEG1 address space and improve code readability

* remove the -1 for the romsize mapping

* set dd_rom_size when setting the pointer for it

* fix pointers to dd regs and rom

* adjust retroarch memory mapping to use the existing struct from init_device

* revise use of the other mappings struct and fix broken pointers
2026-09-18 02:03:18 +02:00
M4xw 38190d9617 Add precompiled headers 2026-09-18 02:02:21 +02:00
M4xw 3c97459762 Yeet precompiled headers 2026-09-18 02:02:21 +02:00
M4xw c5a31329a2 Stub ConfigGetParamBool use 2026-09-18 02:02:21 +02:00
M4xw 151817d7b4 Update precompiled headers 2026-09-18 02:02:21 +02:00
M4xw 350913280e Yeet pre-generated headers 2026-09-18 02:02:21 +02:00
M4xw 38d4f8ef1f First batch of fixes 2026-09-18 02:02:21 +02:00
M4xw 66ea86b46a [WIP] Add mupen64plus-core minimal changes
Platform buildfix - is this accurate enough?

WIP Dynarec

Speed workaround at perf cost

C89 fix

Remove dummy_rsp

Fix awk

Fix savestates, some ground work for cheats

cleanup

Transition fixes (CBFD etc)

Fix cheats

Fix Savefiles

[LIBNX] Small dynarec perf hack

ASM defines for android, currently not generated.

Libnx transition cleanup

Add Fullspeed Core option (simliar to ParaLLEl)

Add CountPerScanlineOverride (VI Refresh Overclock)
Similar to ParaLLEl

new_dynarec: add assembler defines for ARM platform

* Right now if the platform generates them they will pop up in
  `asm_defines` and that takes priority over the backend folders,
  so lets just commit them for the time being (m4xw).

Fix deinit

Potential mitigation for Indiana Jones (aarch64)
Only relevant with new GLideN64

Check inputs using poll callback.

[NXJIT] Cleanup, use RW/RX bases
Still missing Horizon ver. detection

GLideN64 needed changes (WIP)

Minor cleanup

stop_after_jal for all but libnx

Added core option: ForceDisableExtraMem

N64DD Support via Subsystems

Fix new_dynarec uncached code execution

Add alternative loading of DD image files
- Relevant for broken Subsystem on static Platforms, like Switch

Add CXD4. ParallelRSP Preperations

Implement angrylion core-options and multi-plugin handling

Co-authored-by: twinaphex <[email protected]>

First revision of new Core options
- Deprecated GLN header for Core options
- Add Hybrid Filter Core option
- Add Dithering Pattern Core option
- Add Dithering Quantization Core option
- Add RDRAM Image Dithering Mode Core option
- Additional thanks to Tatsuya79 and dmrlawson

Update & Revert to Stock INI Headers
- Removes OoT Subscreen fix, might've caused Issues

[GLN64] Implement Threaded Renderer

[NX] Test JIT Changes
- Lowers platform requirements

[Core] Remove CountPerOp=1 for Quake 2 and Goldfinger
- This cripples perf on Switch and Android with GLN64
- No regression has been found so far

Remove Bone displacement fix after testing for DK64, update INI headers

Add IgnoreTLBExceptions Options
- Current workaround for the tricky Dynarec Issue for OoT
- Added 3 Modes, one only skips if the game doesn't use TLB, one always skips (useful for GdbStub) and one is upstream behaviour

Integrate paraLLEl-RDP.

Fix build without new_dynarec

Better handling for dynarec tlb exception filter

Add GET_CLEAR_ALL_THREAD_WAITS_CB, fixes all freezes with thr on several platforms.
Also force early polling instead of late for it.

Update pre-created asm defines for aarch64
Only relevant for Android

Backport 07f09151 to arm/x64/x86 dynarec backends

Add asm defines for Android x86 / x86_64 and allow Android x86_64 core to be built

Fix macro after libretro-common rebase

[Fixme] Remove all baked headers

Liberate rdram_size after rebase again

[Squash me] Fixes after rebase

Experimental transferpak

Experimental netplay

Hacky expose fast fwd w/o env cb (needs v/a sync off)

Fix storage sharing for netplay

Fast fwd extension (unreleased, amend and remove libretro.h later)

Fix PIC for x86 new_dynarec, enable Android x86
TODO: Try ndk bump

Trivial perf improvement on initial recompilation

Use original delta method for android, fallback to new method for nasm
Explicitly declare fPIC flags

Misc fixes & disable netplay support

Add asm_defines headers for Android

Add sys/types.h for u_int declaration

Fixes after rebase

Cleanup & Update INI Headers

Placeholder for DD disk saves

Update asm_defines for Android

Fix file_storage_save
Strdup all globals and let the inner core handle their lifetime
Cleanup global paths garbage collection, add cleanup_global_paths
Use ifile_storage_ro handler for save types
Lower logs in dd_controller
Note: Maybe causes netplay shenanigans as-is, verify

DD disk name shenanigans

Move mempak filestorage to readonly (handled via libretro)

Sanity checks

Add CountPerOpDenomPot (Overclock)

Cache flush optimization for pointer invalidation
TODO: Port to ARMv7

Update asm_defines headers for Android

Build on OSX arm64
2026-09-18 02:01:42 +02:00
M4xw 0926b5fed5 Revert "Support Unicode on Windows"
This reverts commit b2b30a90c3.
2026-09-12 01:23:20 +02:00
Jj0YzL5nvJ cf00a1d1b4 Expand detection to known working OpenCV versions (#1187) 2026-09-05 17:37:56 +02:00
Tatsh e35423065e debugger/dbg_memory: fix building with newer binutils (#1188)
binutils switched to using C99 bool at some point and they were
transitively including bfd.h which defined TRUE/FALSE as 1/0
respectively.

The rest of the file uses 0 and 1 everywhere.
2026-09-05 17:37:17 +02:00
Richard Goedeken 6dca4c1537 Merge pull request #1182 from zinchenko/fix-es-context-profile-override
vidext: don't force compatibility profile over an ES context request
2026-07-06 19:30:40 -07:00
Alexander Zinchenko 855e1ec090 vidext: don't force compatibility profile over an ES context request
VidExt_GL_SetAttribute(M64P_GL_CONTEXT_PROFILE_MASK, ...) clears
l_ForceCompatibilityContext only for M64P_GL_CONTEXT_PROFILE_CORE. An
M64P_GL_CONTEXT_PROFILE_ES request sets the SDL attribute but leaves the
flag armed, so VidExt_SetVideoMode re-sets the profile to
SDL_GL_CONTEXT_PROFILE_COMPATIBILITY right before creating the window,
clobbering the plugin's ES request.

On platforms whose desktop GL is limited (e.g. Raspberry Pi 5 / Mesa V3D,
compatibility profile capped at GLSL 1.40) a video plugin that requested
an ES 3.1 context silently gets a desktop compatibility context instead;
every #version 310 es shader then fails to compile and the emulator shows
a plain black screen with no error in Release builds.

Clear the force flag for the ES case exactly like the CORE case (same
ifndef USE_GLES guard: the flag does not exist in GLES builds).
2026-07-06 05:06:43 +02:00
Jj0YzL5nvJ 818ce77749 CI/CD: Update 2026.6 (#1180) 2026-06-23 10:57:15 +02:00
Richard Goedeken e692afadfc Merge pull request #1178 from Morilli/fix-crashes-and-halts
Fix crashes and halts
2026-06-02 21:31:00 -07:00
Morilli 1c3d9326a2 allow setting INDEX_REG to >= 32 instead of halting
simply ignoring its value seems to be the correct thing to do in this case
2026-05-30 16:43:47 +02:00
Morilli e6f8882701 fix hardcrash in random reg handling when wired>=32
this caused a div-by-zero in the modulo operation.
2026-05-30 16:42:20 +02:00
Morilli 85e715947c treat unknown TLB instructions as NOP instead of RESERVED
this probably needs to happen in the dynarec too, but that one crashes before I get to test it.
2026-05-30 16:40:09 +02:00
Morilli 89ac8da3bf always treat COP0 instructions with highest bit set as TLB
not just when == 16, but all >= 16.
2026-05-30 16:37:19 +02:00
Morilli 277b9059b8 fix potential crash in dma_pi_write due to underflow 2026-05-30 16:33:20 +02:00
Richard Goedeken 53a08fceb7 Merge pull request #1175 from Jj0YzL5nvJ/crlf
Supporting CRLF storage in Git for renormalized Windows files
2026-03-29 22:24:09 -07:00
Jj0YzL5nvJ 9779a698c3 MSVC ASM Script: Updated and simplified in some parts, better explained in others, and renormalized as CRLF without going through LF 2026-03-15 02:06:45 -06:00
Jj0YzL5nvJ e974ad894d Update the attributes and intentionally exclude all CRLF files to force Git to store them without converting them to LF in the future 2026-03-15 00:35:06 -06:00
Rosalie Wanders d747ccee85 Fix minizip includes for zlib v1.3.2 (#1173)
* Fix minizip includes for zlib v1.3.2

* Update mupen64plus-core.vcxproj

* Update mupen64plus-core.vcxproj
2026-02-24 09:04:51 +01:00
Richard Goedeken 6acd180e00 Merge pull request #1172 from Pcgaming575/Pcgaming575-patch-2
Adding Spanish translation of Star Fox 64
2026-02-19 18:33:52 -08:00
Pcgaming575 e59bdeb8f3 Adding Spanish translation of Star Fox 64
Adding the Spanish translation of Star Fox 64 in its NTSC and PAL versions.
2026-02-19 19:40:03 -06:00
Richard Goedeken 17eafddc94 Merge pull request #1170 from Jj0YzL5nvJ/up2026
CI/CD: Update 2026.2
2026-02-09 20:03:56 -08:00
Jj0YzL5nvJ 71d7966e11 CI/CD: Update 2026.2 2026-02-07 22:40:47 -06:00
Rosalie Wanders 3c2955c910 Fix memory pak from player 2-4 not saving correctly 2026-01-08 02:56:10 +01:00
Rosalie 90ed6cd74e Make CART_ROM_MAX_SIZE a define
This is due to MSVC truncating the value due to them using a set size
Fixes #1165
2025-12-16 21:29:51 +01:00
Richard Goedeken 37791911f1 Merge pull request #1163 from Rosalie241/fix-warnings
Fix warnings
2025-12-07 17:20:03 -08:00
Richard Goedeken f09684c649 Merge pull request #1162 from archie2x/feature/large-page-sizes
See #1047: Dynarec Cache Alignment - support large page sizes
2025-12-07 17:18:23 -08:00
Richard Goedeken 8a8286caa6 initialize the g_dev object to all zeros at core startup time 2025-12-07 17:17:46 -08:00
Rosalie Wanders 650ce048d5 Add rom_size check to init_device() 2025-12-08 01:19:59 +01:00
Rosalie Wanders c1bc39c66f Add g_rom_size check to plugin_start_gfx() 2025-12-08 01:17:01 +01:00
Jj0YzL5nvJ 6abdd91ce4 Fix controller hypersensitivity in Wipeout 64 (U) (#1161) 2025-12-08 01:03:44 +01:00
Rosalie 6ede8b8687 Add bounds checking to read_cart_rom() (#1164) 2025-12-08 01:00:15 +01:00
Richard Goedeken a20c7760bd Merge pull request #1103 from Rosalie241/fix-romsize
Fix incorrect maximum ROM size
2025-12-07 15:45:07 -08:00
Rosalie Wanders e25fa14377 Fix warnings 2025-12-07 20:12:51 +01:00
archie2x 5648559750 include winsock2.h to pull in u_int etc. 2025-12-07 06:58:03 -08:00
archie2x c5226d6938 See #1047: Dynarec Cache Alignment - support large page sizes
- src/device/r4300/new_dynarec/new_dynarec.h:35-36 now defines shared
    constants for the code-cache size and an extra 2 MB padding window so every
    component uses the same expectations when reserving executable memory.

  - src/device/r4300/r4300_core.h:184-186 replaces the fixed 4 KB–aligned cache
    array with a padded backing buffer plus a cached pointer, so we can realign
    the dynarec code cache at runtime without relying on the toolchain’s maximum
    alignment.

  - src/device/r4300/new_dynarec/new_dynarec.c:83-127,8686-8753 adds helpers
    that query the host page size (sysconf/GetSystemInfo), align the cache
    buffer, warn if the host page size exceeds the padding, and use the aligned
    pointer during new_dynarec_init, keeping all subsequent
    mprotect/VirtualProtect calls page-safe.

- src/device/r4300/new_dynarec/recomp_dbg.c:135-138,816-823 mirrors the same
    padded-buffer/realignment logic for the recompilation debugger build so the
    debug cache also respects larger host page sizes.
2025-12-07 06:12:57 -08:00
Starlightbotanist e0afbb2c2f Add widescreen hacks for Kirby 64 and Ridge Racer 64 to mupen64plus.ini (#1157) 2025-10-17 23:38:55 +02:00
Rosalie Wanders 92cf231c2c Add SiDmaDuration to Pokemon Stadium
This is apparently needed to get the GameBoy tower functionality working
when using a GameBoy save, which I forgot to test.
2025-10-14 23:30:27 +02:00
Rosalie Wanders 614c363d90 Add 64DD game entries and enable transferpak for some 2025-10-08 17:11:29 +02:00
Rosalie Wanders 7698ba5d1b Fix transfer pak functionality 2025-10-08 17:11:29 +02:00
Jj0YzL5nvJ bdf2fd8a94 Add SSSV bug fixes and update some ROM hacks (#1147) 2025-09-26 02:35:55 +02:00
Rosalie Wanders f736e261c6 subprojects: update minizip to v1.3.1 2025-09-25 17:46:22 +02:00
Rosalie Wanders 6722999adc Add MD5 fallback to screenshot filename 2025-09-25 17:27:38 +02:00
Rosalie 3e388e5f0f vidext: remove need for compatibility header (#1150) 2025-09-19 20:59:22 +02:00