Commit Graph
100 Commits
Author SHA1 Message Date
wheremyfoodatandGitHub fd90f9a4d0 Bump minimum MacOS version to 13.3 if using Vulkan (#811) 2025-10-12 01:23:23 +03:00
wheremyfoodatandGitHub 49fe7037cb Scheduler: Fix typo 2025-10-12 00:01:36 +03:00
72b9aecda5 Thread scheduling fixes (#722)
* Add thread preemption when a thread wakes up from a timeout

* Add arbiter sleeping with timeout

Update threads.cpp

* Scheduler: Fix event numbers

* More address arbiter fixes

* Update preempt threads branch (#755)

* CI: Fix Vulkan SDK action (#723)

* GPU registers: Fix writes to some registers ignoring the mask (#725)

Co-authored-by: henry <23128103+atem2069@users.noreply.github.com>

* OLED theme

* OLED theme config fix (#736)

Co-authored-by: smiRaphi <neogt404@gmail.com>

* Adding Swedish translation

* Fix Metal renderer compilation on iOS

* [Core] Improve iOS compilation workflow

* [Qt] Hook Swedish to UI

* AppDataDocumentProvider: Typo (#740)

* More iOS work

* More iOS progress

* More iOS work

* AppDataDocumentProvider: Add missing ``COLUMN_FLAGS`` in the default document projectation (#741)

Fixes unable to copy files from device to app's internal storage problem

* More iOS work

* ios: Simplify MTKView interface (still doesn't work though)

* ios: Pass CAMetalLayer instead of void* to Obj-C++ bridging header

* Fix bridging cast

* FINALLY IOS GRAPHICS

* ios: Remove printf spam

* Metal: Reimplement some texture formats on iOS

* metal: implement texture decoder

* metal: check for format support

* metal: implement texture swizzling

* metal: remove unused texture functions

* Shadergen types: Add Metal & MSL

* Format

* Undo submodule changes

* Readme: Add Chonkystation 3

* Metal: Use std::unique_ptr for texture decode

* AppDataDocumentProvider: Allow to remove documents (#744)

* AppDataDocumentProvider: Allow to remove documents

* Typo

* Metal renderer fixes for iOS

* iOS driver: Add doc comments

* iOS: Add frontend & frontend build files (#746)

* iOS: Add SwiftUI part to repo

* Add iOS build script

* Update SDL2 submodule

* Fix iOS build script

* CI: Update xcode tools for iOS

* Update iOS_Build.yml

* Update iOS build

* Lower XCode version

* A

* Update project.pbxproj

* Update iOS_Build.yml

* Update iOS_Build.yml

* Update build.sh

* iOS: Fail on build error

* iOS: Add file picker (#747)

* iOS: Add file picker

* Fix lock placement

* Qt: Add runpog icon (#752)

* Update discord-rpc submodule (#753)

* Remove cryptoppwin submodule (#754)

---------

Co-authored-by: henry <23128103+atem2069@users.noreply.github.com>
Co-authored-by: smiRaphi <neogt404@gmail.com>
Co-authored-by: smiRaphi <87574679+smiRaphi@users.noreply.github.com>
Co-authored-by: Daniel Nylander <po@danielnylander.se>
Co-authored-by: Ishan09811 <156402647+Ishan09811@users.noreply.github.com>
Co-authored-by: Samuliak <samuliak77@gmail.com>
Co-authored-by: Albert <45282415+ggrtk@users.noreply.github.com>

---------

Co-authored-by: henry <23128103+atem2069@users.noreply.github.com>
Co-authored-by: smiRaphi <neogt404@gmail.com>
Co-authored-by: smiRaphi <87574679+smiRaphi@users.noreply.github.com>
Co-authored-by: Daniel Nylander <po@danielnylander.se>
Co-authored-by: Ishan09811 <156402647+Ishan09811@users.noreply.github.com>
Co-authored-by: Samuliak <samuliak77@gmail.com>
Co-authored-by: Albert <45282415+ggrtk@users.noreply.github.com>
2025-10-12 00:00:15 +03:00
wheremyfoodatandGitHub 3701fb6ca3 Fix broken iOS build 2025-10-11 23:54:46 +03:00
wheremyfoodatandGitHub 560d42414c Update cmrc submodule (#810)
* Update cmrc submodule

* Bump up cryptopp CMake version

* Update dynarmic

* Update xbyak
2025-10-11 23:46:42 +03:00
wheremyfoodatandGitHub 2bedba53d3 Update .clang-format 2025-09-29 18:15:55 +03:00
wheremyfoodatandGitHub 9a91c0bc30 Add support for using system LuaJIT (#808)
* Add support for using system LuaJIT

* Test CI: Update package list

* Update toml11
2025-09-23 21:37:55 +03:00
wheremyfoodatandGitHub 2ebf17fc2b Enable texture hashing by default for libretro core (#809) 2025-09-23 20:48:12 +03:00
wheremyfoodatandGitHub ff561d66a2 Demote inVaddr panic to warning for home menu 2025-08-29 00:45:08 +03:00
wheremyfoodatandGitHub 78002be334 Vendor Teakra, make emulator own DSP RAM and add DSP RAM to fastmem (#806)
* DSP: Own DSP RAM and add it to fastmem

* Vendor Teakra

* Add MacOS support to fastmem

* Fix MacOS fastmem paths

* Fix iOS build
2025-08-22 02:12:21 +03:00
wheremyfoodatandGitHub 6b35d3b6d6 MacOS App Bundle fixes (#804)
* Mac bundle: Delete temporary icon files

* Mac bundle: Register app as game

* Mac bundle: Enable game mode support
2025-08-12 20:11:32 +03:00
wheremyfoodatandGitHub bd81c72608 Fix uninitialized warning and remove header pollution (#803)
* Fix uninitialized warning and remove header pollution

* Nits

* IWYU

* More IWYU
2025-08-07 23:12:45 +03:00
wheremyfoodatandGitHub 1f2403c417 Add Luigi's Mansion fw to db (#802) 2025-08-07 21:05:39 +03:00
6d1ef7cb4f Memory rework pt 2 (#801)
* Memory: Rework FCRAM management entirely

Disables a lot of functionality... but I didn't want to commit too much to this commit
Also reworks virtual memory management somewhat (but needs more work)

* Accurately handle MemoryState for virtual memory

Previously all non-free blocks were marked as Reserved

* Memory: Consolidate state and permission changes

Can now use a single function to change either state, permissions, or both
Also merge vmem blocks that have the same state and permissions

* Memory: Fix double reset for FCRAM manager

Fix minor bug with permission tracking

* Memory: Implement Protect operation in ControlMemory

* Memory: Implement Unmap in ControlMemory

Also do a sanity check to make sure the memory region is free for linear allocations

* Memory: Make TLS only 0x200 bytes for each thread

Also move TLS to Base region

* RO: Unmap CROs when unloaded

Thanks @noumidev

* Kernel: Return used app memory for Commit ResourceLimit

Not quite correct, but nothing to be done until process management is improved
Also remove the stack limit for CXIs (thanks amogus)

* Kernel: Report used app memory for GetProcessInfo 2

Not really correct, but it should be accurate for applications at least

* Formatting changes

* Initial fastmem support

* PCSX2 fastmem depression

* Move away from PCSX2 fastmem

* Add enum_flag_ops.hpp

* Finally building on Windows

* Almost got a PoC

* Fix arm64 builds

* This somehow works

* This also works...

* Properly fix fastmem

* Add free region manager

* Update boost

* Add ScopeExit

* Comment out asserts on Linux/Mac/Android

* Comment out ASSERT_MSG asserts too

* Fix derp

* Attempt to fix Android

* Disable fastmem on Android

* Fix Android again maybe pt 2

* android pls

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Update host_memory.cpp

* Properly reset memory arena on reset

* Proper ashmem code for Android

* more

* Add temporary Android buildjet script for faster prototype builds

* Fix fastmem (again)

* Clean up shared memory

* Remove Android BuildJet runner

* a

* Revert "a"

This reverts commit 5443ad6f2a794c19c9b1a1567ca1c7f58eed78cd.

* Re-add ELF support

* Re-add 3DSX support

* GetSystemInfo, GetProcessInfo: Memory sizes should be in bytes

* Update Boost

* Update metal-cpp

* Fix metal renderer compilation

* Fix fastmem mapping

* Clean up fastmem code

* Fix oopsie again

* Emulator: Reorder struct

* Kernel types: Cleanup

* Cleanup

* More cleanup

* Make invalid mprotects warn instead of panicking

* Add setting for toggling fastmem

* More cleanup

* Properly initialize BSS to zeroes

* Remove unused code

* Formatting

* Cleanup

* Memory/CRO: Workaround for Pokemon XY

* NCSD loader: Fix BSS (again)

* NCSD loader: Fix BSS (again) (again)

* More memory fixes

* Memory: Remove unused code

* FS: Warn on unimplemented functions instead of panic

* Update software_keyboard.cpp

* Libretro: Add fastmem option

* FRD: Stub SaveLocalAccountData

---------

Co-authored-by: PSI-Rockin <PSI-Rockin@users.noreply.github.com>
2025-08-07 20:18:09 +03:00
wheremyfoodatandGitHub 5ebee8ea72 SOC: Demote panic to warn 2025-08-04 00:22:51 +03:00
wheremyfoodatandGitHub 2699dcd82e Build Android libretro core on CI (#797)
* Attempt to build Android libretro core on CI

* Hopefully fix Android libretro compilation

* Try fix libretro android again

* Fix SO name

* Rename .so again

* Nit

* Update Android Libretro build

* Remove ccache for Android libretro
2025-07-31 17:04:15 +03:00
wheremyfoodatandGitHub 9d04f40c3f HID: Update comments 2025-07-30 14:23:28 +03:00
wheremyfoodatandGitHub 115368491f Libretro: Add ZL/ZR support (#796)
* iOS: Remove unused hidService

* Libretro: Add ZL/ZR support

* Test build: Create venv

* Install python3-venv package

* Update Test_Build.yml
2025-07-30 09:41:46 +03:00
wheremyfoodatandGitHub 21c25d2fb8 AAC: Remove unused code 2025-07-29 03:55:00 +03:00
wheremyfoodatandGitHub a8ebc71f11 Fix nits 2025-07-28 19:01:34 +03:00
wheremyfoodatandGitHub 948ae5ef4a Qt: Fix ScreenWidgetGL when OpenGL is disabled 2025-07-27 08:12:11 +03:00
wheremyfoodatandGitHub 0446bcdaa1 Add Metal support to Qt frontend and clean up renderer creation code (#795)
* Qt: Initial support for Metal renderer

* Clean up graphics context code

* Nits

* More nits

* Qt: Move screen-related stuff to own folder

* Qt: Make screen widget polymorphic

* Qt: Re-add Metal

* Add factory for screen widget

* Qt: Support compilation without Metal

* Qt: Fix build without Metal

* Oops

* oops
2025-07-26 23:13:08 +03:00
wheremyfoodatandGitHub 8b0b1939cf GL: Respect minimum UBO alignment requirement (#794)
* GL: Respect minimum UBO alignment requirement

* Use glBindBufferRange for UBOs

* Fix fragment shadergen UBO bindings

* Nit
2025-07-25 01:24:23 +03:00
wheremyfoodatandGitHub 0815707613 GL: Use StreamBuffer for shadergen UBOs (#793)
* GL: Use StreamBuffer for shadergen UBOs

* Clean up UBO sizes
2025-07-24 23:25:34 +03:00
wheremyfoodatandGitHub 3ac5f1b0c6 Qt: Fix race condition when using cheats (#792)
* Qt: Fix race condition when using cheats

* Nit
2025-07-24 17:17:40 +03:00
wheremyfoodatandGitHub f8c3ddff9a Update Test_Build.yml 2025-07-23 14:59:10 +03:00
wheremyfoodatandGitHub ece809d368 Build hardware tests on CI (#791)
* Build tests on CI

* Update workflows

* Update Test_Build.yml

* Update Test_Build.yml

* Update Test_Build.yml

* Update Test_Build.yml
2025-07-23 14:18:02 +03:00
wheremyfoodatandGitHub 89426db797 Tests: Cleanup (#790) 2025-07-23 13:54:07 +03:00
wheremyfoodatandGitHub 95231514e2 Remove iconset files 2025-07-23 05:31:45 +03:00
wheremyfoodatandGitHub b286306648 Fix MacOS icon oopsie (#789) 2025-07-23 05:26:44 +03:00
wheremyfoodatandGitHub 5beb9d8b17 MacOS: Make app icons round (#788) 2025-07-23 05:21:42 +03:00
wheremyfoodatandGitHub b8cbfcca89 GPU: Fix VertexShaderOutputMask in non-accelerated draws (#787) 2025-07-23 03:54:05 +03:00
wheremyfoodatandGitHub 97b2557391 Enable audio by default on all frontends 2025-07-23 03:45:50 +03:00
wheremyfoodatandGitHub 3c473a5fce Shader interpreter: Fix out-of-bounds float uniform edge cases (#786) 2025-07-23 02:55:27 +03:00
wheremyfoodatandGitHub 74ee07bec9 Tests: Fix shader test compilation on MacOS (#784) 2025-07-23 02:21:33 +03:00
wheremyfoodatandGitHub 2ccb264a86 HLE DSP: Implement partial embedded buffer updates (#782) 2025-07-21 01:59:46 +03:00
wheremyfoodatandGitHub 146dc92a0f Formatting fixes (#781)
* Formatting

* More formatting

* More formatting

* More formatting
2025-07-21 00:33:24 +03:00
81f37e1699 Qt: Allow rebinding keyboard controls (#779)
* Initial input UI draft

Co-Authored-By: Paris Oplopoios <parisoplop@gmail.com>

* More keybinding work

Co-Authored-By: Paris Oplopoios <parisoplop@gmail.com>

* Nit

Co-Authored-By: Paris Oplopoios <parisoplop@gmail.com>

* More nits

Co-Authored-By: Paris Oplopoios <parisoplop@gmail.com>

---------

Co-authored-by: Paris Oplopoios <parisoplop@gmail.com>
2025-07-18 04:08:08 +03:00
wheremyfoodatandGitHub 3cae1bd256 Merge pull request #778 from wheremyfoodat/dsp-debugger2
Add DSP debugger
2025-07-09 01:16:53 +03:00
wheremyfoodat d126cf1ac6 Reduce global namespace bloat 2025-07-09 00:26:51 +03:00
wheremyfoodat 9ef7db63ef Update teakra 2025-07-08 23:59:28 +03:00
wheremyfoodat 518b279139 DSP debugger: Fix prpage 2025-07-08 23:39:12 +03:00
wheremyfoodat 69bbb13d5d Make HLE DSP load binaries too 2025-07-08 23:39:12 +03:00
wheremyfoodat c872cfb507 Fix PC in disassembly 2025-07-08 23:39:12 +03:00
wheremyfoodat 415bf7b0a4 Initial DSP debugger work 2025-07-08 23:39:12 +03:00
wheremyfoodatandGitHub f4e6a082bb CPU Debugger: Fix branch disassembly 2025-07-08 02:40:38 +03:00
wheremyfoodatandGitHub 8ba3b1ceca CECD: Stub GetChangeStateEventHandle (#776)
* CECD: Stub GetChangeStateEventHandle

* More CECD
2025-07-08 02:18:13 +03:00
wheremyfoodatandGitHub 94d78edb49 Add missing override 2025-07-07 13:41:57 +03:00
c0948f4235 Upgrade Lua service intercepts (#775)
Co-authored-by: Théo B. <16072534+LiquidFenrir@users.noreply.github.com>
2025-07-07 11:52:57 +03:00
wheremyfoodatandGitHub ce4750e375 Merge pull request #774 from wheremyfoodat/cpu-debugger
Qt: Initial CPU debugger implementation
2025-07-07 05:09:06 +03:00
wheremyfoodatandliuk707 2909e671aa Make address input wider
Co-Authored-By: liuk707 <62625900+liuk7071@users.noreply.github.com>
2025-07-07 04:41:12 +03:00
wheremyfoodatandliuk707 37f38509db More CPU debugger work
Co-Authored-By: liuk707 <62625900+liuk7071@users.noreply.github.com>
2025-07-07 04:32:17 +03:00
wheremyfoodatandliuk707 9dc52577ea Qt: Initial CPU debugger widget implementation
Co-Authored-By: liuk707 <62625900+liuk7071@users.noreply.github.com>
2025-07-07 03:46:51 +03:00
wheremyfoodatandGitHub 8e20bd6220 Long overdue clang-format pass on most of the project (#773) 2025-07-06 18:25:20 +03:00
wheremyfoodatandGitHub d1f4ae2911 Merge pull request #772 from wheremyfoodat/screen-layout
Better screen layout support
2025-07-06 04:07:22 +03:00
wheremyfoodat 9527acebe6 More formatting fixes 2025-07-06 03:49:02 +03:00
wheremyfoodat 4b90239ae7 Formatting fix 2025-07-06 03:04:40 +03:00
wheremyfoodat cf321b1ed8 Better screen layout support 2025-07-06 02:41:44 +03:00
wheremyfoodat 1c0f65c740 Screen layouts: Add configurable screen sizes 2025-07-05 02:36:03 +03:00
wheremyfoodat 62748eef47 Initial screen layout implementation 2025-07-04 17:53:36 +03:00
wheremyfoodatandGitHub d06f600b3a Use multimap for indexing surfaces (#771)
* Use an std::map for faster texture cache lookup

* Surface cache: Use map instead of multimap, optimize `find` to perform tree scan

* Add comments
2025-07-04 14:23:08 +03:00
wheremyfoodatandGitHub 80840b6c5e Merge pull request #769 from wheremyfoodat/lua-services
Add service call intercepts via Lua & thread debugger draft
2025-07-04 02:41:51 +03:00
wheremyfoodat 162e73bfd2 Clean up service intercepts 2025-07-04 02:11:23 +03:00
wheremyfoodat 9932e58bf0 Add thread debugger 2025-07-03 16:58:56 +03:00
wheremyfoodat 228068901b Add system call intercepts to Lua 2025-07-03 13:02:10 +03:00
wheremyfoodatandGitHub 620e3699ec HID/IR: Cleanup and minor fixes (#768) 2025-07-03 03:47:06 +03:00
wheremyfoodatandGitHub 2e148ae997 Merge pull request #767 from wheremyfoodat/cpp
Initial support for CirclePad Pro/New 3DS controls
2025-07-03 03:39:12 +03:00
wheremyfoodat cee16d8cf2 Fix name formatting 2025-07-03 03:36:17 +03:00
wheremyfoodat 2a0661f968 IR: Proper error in SendIrnop 2025-07-03 02:56:25 +03:00
wheremyfoodat dc7f8a48bd IR: Move to scheduler 2025-07-03 02:42:43 +03:00
wheremyfoodat b2904f391f IR: Deglobalize receiveBuffer 2025-07-03 01:41:43 +03:00
wheremyfoodat 0ab8a6d956 More CirclePad Pro improvements 2025-07-03 01:33:47 +03:00
wheremyfoodat 935e088ca1 More CPP fixes 2025-07-02 21:56:12 +03:00
wheremyfoodat a3f9ced3aa CPP fixes 2025-07-02 21:35:29 +03:00
wheremyfoodatandGitHub 9dcb0a1d47 Fix outdated comment 2025-07-02 20:21:56 +03:00
wheremyfoodat 5a912aaf2f IR: More fixes 2025-07-01 04:03:42 +03:00
wheremyfoodat 1aa6b571e8 Add UI for toggling CirclePad Pro 2025-07-01 03:54:10 +03:00
wheremyfoodat 95b9f75ef9 Fix naming conventions 2025-07-01 03:04:55 +03:00
wheremyfoodat 10d11cb3c9 Clean up CirclePad Pro state 2025-07-01 02:32:40 +03:00
wheremyfoodat 382c0f953d Initial CPP implementation 2025-07-01 01:44:55 +03:00
wheremyfoodatandGitHub eb4e7573da Stub srv:PublishToSubscriber (#766) 2025-06-30 19:41:42 +03:00
wheremyfoodatandGitHub 1fdaec2b0f GPU: Don't hash textures by default 2025-06-30 19:15:43 +03:00
wheremyfoodatandGitHub 1ecff4c3af GSP: Warn on unimplemented service calls instead of panicking (#765) 2025-06-30 11:43:00 +03:00
wheremyfoodatandGitHub ce356c6e61 iOS: Remove debug prints 2025-06-29 23:33:02 +03:00
wheremyfoodatandGitHub 1c98c1147d Merge pull request #764 from wheremyfoodat/better-resizing
Metal renderer & iOS frontend fixes
2025-06-29 23:26:41 +03:00
wheremyfoodat cae79e43ca iOS: Default-initialize mtkView drawable size 2025-06-29 23:25:31 +03:00
wheremyfoodat adcd03d31e Metal renderer & iOS frontend fixes 2025-06-29 23:22:43 +03:00
wheremyfoodatandGitHub 71cfb5b079 Merge pull request #763 from wheremyfoodat/better-resizing
SDL/Qt: Better resizing & fullscreen support
2025-06-29 21:05:49 +03:00
wheremyfoodat 630952f36b SDL/Qt: Better resizing & fullscreen support 2025-06-28 23:34:12 +03:00
wheremyfoodat bfeee04d3e Add IDE files to gitignore 2025-06-28 17:52:24 +03:00
wheremyfoodatandGitHub 869099993d Merge pull request #762 from wheremyfoodat/seek
FS: Add missing file seeks
2025-06-28 04:52:08 +03:00
wheremyfoodat 5a2d71553c FS: Add missing file seeks 2025-06-28 04:51:07 +03:00
wheremyfoodatandGitHub c99ff4f4b1 CI: Use new Vulkan SDK 2025-06-23 04:33:39 +03:00
d954086d72 Fix build on new Vk SDK (#757)
Co-authored-by: Nadia Holmquist Pedersen <893884+nadiaholmquist@users.noreply.github.com>
2025-06-23 03:44:49 +03:00
wheremyfoodatandGitHub 27394ff7c8 Merge pull request #756 from wheremyfoodat/texture-hash
Add optional texture hashing
2025-06-23 03:23:35 +03:00
wheremyfoodat a0aa11dac0 Add optional texture hashing 2025-06-23 02:45:13 +03:00
wheremyfoodatandGitHub 6182d4cfe9 Remove cryptoppwin submodule (#754) 2025-06-09 21:16:19 +00:00
wheremyfoodatandGitHub fec4428ebf iOS: Add file picker (#747)
* iOS: Add file picker

* Fix lock placement
2025-03-17 02:55:17 +02:00
wheremyfoodatandGitHub 90725252d3 iOS: Fail on build error 2025-03-17 00:47:53 +02:00
wheremyfoodatandGitHub e71cbc9bc3 iOS: Add frontend & frontend build files (#746)
* iOS: Add SwiftUI part to repo

* Add iOS build script

* Update SDL2 submodule

* Fix iOS build script

* CI: Update xcode tools for iOS

* Update iOS_Build.yml

* Update iOS build

* Lower XCode version

* A

* Update project.pbxproj

* Update iOS_Build.yml

* Update iOS_Build.yml

* Update build.sh
2025-03-16 23:41:28 +02:00