aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* dont make a save file on launching a game (#1974)Jaklyy2024-02-13
| | | avoids the issue of saves being created for roms that dont use save files.
* delete-artifact keeps failing PR CI even when you tell it not to fail on ↵Nadia Holmquist Pedersen2024-02-13
| | | | error so I guess we're just not using it.
* Add Haiku (BeOS-like OS) support (#1858)Luca D'Amico2024-02-07
|
* Check for write permissions for some key files (#1972)Jaklyy2024-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * check if an nds save file can be opened for writing also add the ability to open a file in append mode * fix multi-instance saves also move the check for file writability into a separate function (probably uneeded?) * implement check for gba roms * move rom load error messages into the functions also finish gba slot (oops) * improve error string * check write perms before saving path settings * fix memory leak * check for writability of firmware/nand/sds * add secondary checks for nand/firmware * add check for config file being writable * Return the file write error as a QString to avoid the invalid char* causing a garbled error message. Qt wants it as QString either way.
* Linux CI updates (#1965)Nadia Holmquist Pedersen2024-02-07
| | | | | | * Switch to using Qt 6 * Use Ubuntu 22.04 for newer dependency versions * Combine AppImage and regular x86_64 builds so it doesn't have to build twice * Misc cleanup
* macOS CI updates (#1973)Nadia Holmquist Pedersen2024-02-07
| | | | | * Use macOS 14 M1-based runners for macOS CI * Hopefully make the universal build erroring not fail the build (does sometimes with delete-artifact) * Update vcpkg version
* Allow the user to choose the UI themeNadia Holmquist Pedersen2024-02-07
| | | | Mainly useful for those who want dark mode on Windows.
* Fix DSiWare detection (#1969)Jesse Talavera2024-02-01
| | | | - According to GBATek, all DSiWare games have a high title ID of 0x00030004 - Some homebrew apps set the Unitcode bits to DSi mode to enable support of DSi features
* Add MaxFPS settingNadia Holmquist Pedersen2024-01-26
|
* readme: fix macOS build badgeNadia Holmquist Pedersen2024-01-25
|
* Add support for using a portable directory without special build flags. (#1956)Steveice102024-01-24
|
* the readme for delete-artifact doesn't have this anymore so maybe it'llNadia Holmquist Pedersen2024-01-24
| | | | stop failing if I remove it
* also add writes while we're at it, we know Gericom's gonna abuse them someday :PArisotura2024-01-17
|
* add missing 8/16-bit reads to ROMCnt and ROM SPICntArisotura2024-01-17
|
* Don't reset the VRAM cache if saving a state (#1944)Jesse Talavera2024-01-08
| | | - This fixes a flickering bug in melonDS DS
* Protect savestates while the threaded software renderer is running (#1864)Jesse Talavera2024-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First crack at ensuring the render thread doesn't touch GPU state while it's being serialized * Get rid of the semaphore wait * Add some extra fields into GPU3D's serialization * Oops, TempVertexBuffer is already serialized * Move vertex serialization into its own method * Lock the GPU3D state when rendering on the render thread or serializing it * Revert "Lock the GPU3D state when rendering on the render thread or serializing it" This reverts commit 2f49a551c13934b9dc815bbda67a45098f0482a7. * Add comments that describe the synchronization within GPU3D_Soft - I need to understand it before I can solve my actual problem - Now I do * Revert "Revert "Lock the GPU3D state when rendering on the render thread or serializing it"" This reverts commit 1977566a6d8671d72bd94ba4ebf832c3bf08933a. * Let's try locking the GPU3D state throughout NDS::RunFrame - Just to see what happens * Slim down the lock's scope * Narrow the lock's scope some more * Remove the lock entirely * Try protecting the GPU3D state with just a mutex - I'll clean this up once I know it works * Remove a duplicate method definition * Add a missing `noexcept` specifier * Remove an unused function * Cut some non-hardware state from `GPU3D`'s savestate * Assume that the next frame after loading a savestate won't be identical * Actually, it _is_ worth it * Don't serialize the clip matrix - It's recalculated anyway * Serialize `RenderPolygonRAM` as an array of indexes * Clean up some comments - I liked the dialogue style, but oh well * Try restarting the render thread instead of using the lock - Let's see what happens * Put the lock back * Fix some polygon and vertex indexes being saved incorrectly - Taking the difference between two pointers results in the number of elements, not the number of bytes * Remove `SoftRenderer::StateBusy` since it turns out we don't need it - The real synchronization was the friends we made along the way
* Reset the JIT when loading savestate (#1937)Eric Warmenhoven2024-01-03
| | | | The effect of this change is simply to call JitEnableWrite(), which is necessary on apple silicon
* Slight fixups with `FATStorage` (#1934)Jesse Talavera2024-01-03
| | | | | | | | | | | | | | | | | | * Reload the SD card for `CartSD` and all subclasses * Make `ROMManager::LoadDLDISDCard` delegate to `GetDLDISDCardArgs` * Add a method overload for `CartSD::SetSDCard` * Initialize new SD card images with the correct size * Sync the old card to the host (if applicable) when move-assigning a new one * Only sync the old card to the host if it's not read-only * Remove static state in `FATStorage` - Replace `FF_ReadStorage` and `FF_WriteStorage` with lambda functions - Keep open and use the single `File` handle throughout the `FATStorage`'s life
* TitleManagerDialog: Fix wrong color formatNadia Holmquist Pedersen2023-12-31
|
* guard the default vcpkg directory against multiple CMake instances using itNadia Holmquist Pedersen2023-12-28
|
* Disable default-features for host qtbase to speed up cross build timesNadia Holmquist Pedersen2023-12-28
|
* CI stuff (#1935)Nadia Holmquist Pedersen2023-12-28
| | | Add new macOS CI using vcpkg
* Resolve or silence some warnings (#1905)Jesse Talavera2023-12-28
| | | | | | | | | * Resolve some warnings - Their frequent appearance in the build logs is driving me nuts * Silence warnings about `offsetof` * Don't apply `-Wno-invalid-offset` to C, only to C++
* Merge branch 'master' of github.com:melonDS-emu/melonDSArisotura2023-12-28
|\
| * Add basic CMake presets fileNadia Holmquist Pedersen2023-12-28
| | | | | | | | | | I'll probably use this for CI, but regardless it's nice to have to make it easier for users to build melonDS.
* | integrate OSD into ScreenPanel and make it nicerArisotura2023-12-28
|/
* blargArisotura2023-12-27
|
* sfjshArisotura2023-12-27
|
* Add `alignas` specifiers to some arrays based on how they're accessed (#1933)Jesse Talavera2023-12-26
| | | | | | | * Align some two-element `u32` arrays as `u64`s - To pacify "unaligned read/write" warnings from UBSan * Align some more arrays based on how they're accessed
* fix OSD scaling on hiDPI screensArisotura2023-12-26
|
* separate EmuThread to its own fileArisotura2023-12-26
|
* Merge branch 'master' of github.com:melonDS-emu/melonDSArisotura2023-12-26
|\
| * Apply some quick hotfixes (#1931)Jesse Talavera2023-12-26
| |
| * Don't call Reset on nullptrNadia Holmquist Pedersen2023-12-26
| |
| * "Incorrectly" link libslirp to stop its broken build system fucking upNadia Holmquist Pedersen2023-12-26
| | | | | | | | our linker flags
| * Update vcpkgNadia Holmquist Pedersen2023-12-26
| |
| * Integrate support for building with dependencies from vcpkg (#1880)Nadia Holmquist Pedersen2023-12-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Integrate support for building with dependencies from vcpkg Configure the build using -DUSE_VCPKG=ON to use vcpkg. By default recommended triplets targeting the OS versions official builds support are used. You can opt out of this with -DUSE_RECOMMENDED_TRIPLETS=OFF. * Add the vcpkg manifest * Fetch vcpkg with FetchContent if we don't have it * macOS cross compiling fixes - can't use the x86_64 one as host triplet on arm64 because building Qt fails for whatever reason. Because of course it does :D - vcpkg doesn't always like periods in triplet names so removed those * x86_64 macOS should also use its recommended target when building arm64 builds
| * Make that FindWayland warning shut upNadia Holmquist Pedersen2023-12-26
| | | | | | | | | | Hopefully "stable" distros use a not-ancient-enough CMake version that this should be okay.
| * Screen.cpp: include missing headersNadia Holmquist Pedersen2023-12-26
| |
* | start cleaning up: move OpenGL stuff out of EmuThreadArisotura2023-12-26
|/
* oopsArisotura2023-12-25
|
* add convenience method to Window class for OSD messagesArisotura2023-12-25
|
* move MainWindow and Screen stuff to separate files; WIPArisotura2023-12-24
|
* Support GBA .sav file with appended .rtc (#1927)Samuel Magnan2023-12-24
| | | | | * Support GBA .sav file with appended .rtc * Change comment
* fix possible crashArisotura2023-12-23
|
* do not access NDS object emulation is pausedRSDuck2023-12-22
|
* Don't try to call transferLayout on non-GL ScreenPanelNadia Holmquist Pedersen2023-12-22
|
* Attempt to get rid of leftover QSharedMemory instance after crashNadia Holmquist Pedersen2023-12-22
|
* Reset DS object directly after creationRSDuck2023-12-21
|
* call Reset on 3D renderer objectRSDuck2023-12-21
|