aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* ssize_t is not defined in stddef.h (#1999)RealAstolfo2024-04-18
| | | i had to add sys/types.h and patch my gentoo ebuilds for a successful compilation.
* ROMManager: optimise ROMIcon functionRayyan Ansari2024-04-16
| | | | | | | | | | | | | Precompute all 16 5-bit RGB palette colours into 8-bit RGBA to avoid repeated and superfluous calculation within the nested loop at the point of index lookup. A speedup was observed, from ~7ms, to a consistent 1ms (i.e. now practically instantaneous) through timing with std::chrono::high_resolution_clock. Also improve comprehensibility, by using meaningful names, where appropriate, for loop counter variables.
* wifi: try ignoring MP frames if not engaging in MP commArisotura2024-04-13
|
* Input: only check joystick input if a joystick actually existsArisotura2024-04-12
|
* FATStorage: make sure to always properly unmount the volume (fixes evil bug)Arisotura2024-04-12
|
* wifi improvements:Arisotura2024-04-12
| | | | | | | * implement channels * rework power-down support, fixing bugs * fix bug when W_BeaconInterval is zero * fix potential missing IRQs when writing to W_IE
* fix touchscreen bug on WaylandArisotura2024-04-09
|
* fix generation of instance-unique MAC address when using an external firmwareArisotura2024-04-09
|
* ci: fix macOS buildNadia Holmquist Pedersen2024-04-03
| | | | | | | GitHub Actions' macOS runners have Python from homebrew installed and it's used by default instead of the Python that ships with macOS. Apparently Homebrew decided you shouldn't be able to install stuff with `pip3` anymore so our build broke since `setuptools` is no longer included by default and `glib` from vcpkg needs it to build. Additionally,, the whole liblzma mess ended up breaking our builds too because libarchive (and its dependency libxml2) depends on it and the download is no longer available. The build option changes here should be reverted once this is sorted out because this is probably partially breaking archive support. PS: Fuck you Jia Tan.
* Fix a crash when using DSi mode in debug builds on macOS (#1976)Jesse Talavera2024-03-13
| | | | | Store the BIOS images in `NDSArgs`/`DSiArgs` through pointers, not directly - This will make it easier to keep such objects on the stack
* call Start again NDS object after ResetRSDuck2024-03-12
| | | | fixes issue where game doesn't properly start after changing settings
* fix aarch64 buildRSDuck2024-03-12
|
* fix #1959RSDuck2024-03-12
| | | | Use QT again for opening file so that we don't depend on locale
* that should be 0x8000Nadia Holmquist Pedersen2024-03-08
|
* Add Gaussian (SNES) audio interpolationNadia Holmquist Pedersen2024-03-08
| | | | | | Probably not a good choice for most DS games unless you really want a very soft sound, but it could be fun if you wanted to run lolSnes in melonDS :p
* Util_Audio: use basic linear interpolationNadia Holmquist Pedersen2024-03-03
| | | | | | Should remove the artifacts caused by the previous nearest resampling. May be worth replacing with something better in the future, but this is an improvement for now.
* Release all keyboard keys on focus loss (fixes #1987)Nadia Holmquist Pedersen2024-02-25
|
* build teakra's test_generator.cpp only if building its unit tests isNadia Holmquist Pedersen2024-02-24
| | | | | | enabled speeds up builds a bit
* fix malloc on OpenBSD targets (#1979)λP.(P izzy)2024-02-20
|
* 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
|