Compare commits

...

1851 Commits

Author SHA1 Message Date
Vicki Pfau e95b81f1f7 CMake: Bump to 3.10 minimum
This really is only needed to get CMake to stop yelling at us...
2025-04-03 00:41:05 -07:00
Vicki Pfau bbc61e0f38 Qt: Update copyright year 2025-04-02 14:50:46 -07:00
CasualPokePlayer 4bca59daa5 Mask away unused GPIO bits
Unused GPIO bits are not writable and always return 0. This is documented on gbatek and I've confirmed this is the correct behavior on my own Emerald cartridge.
2025-03-31 18:44:54 -07:00
Vicki Pfau 93d248859f Qt: Add missing use of isZeroed 2025-03-30 21:33:16 -07:00
Vicki Pfau a9262868fc Qt: Use less questionable way of checking for zeroing 2025-03-30 21:26:14 -07:00
Vicki Pfau 5d7b875629 Scripting: Add SHA1 checksum constant 2025-03-30 21:12:35 -07:00
Vicki Pfau 0e42f9d561 Util: Bring up MD5 and SHA-1 library and No-Intro querying 2025-03-30 20:58:05 -07:00
Vicki Pfau eb781d290b Core: Add SHA1 hashing for ROMs 2025-03-30 16:44:33 -07:00
Vicki Pfau 62247f0dce res: Update No-Intro db 2025-03-30 15:47:59 -07:00
Vicki Pfau 410fbccb5a GBA e-Reader: Attempt to improve scan consistency 2025-03-26 22:46:45 -07:00
Vicki Pfau 10eb794cfd GB: Better handling of SRAM and ROM unloading/reloading 2025-03-15 03:02:20 -07:00
Vicki Pfau 360a163ad6 Qt: Mark Ut Video string as notr 2025-03-15 02:36:54 -07:00
Vicki Pfau 0b0961b804 Qt: Fix up memory view size hints 2025-03-15 02:30:29 -07:00
Vicki Pfau 50a314913f GB MBC: Ensure SRAM size is properly updated if GBMBCInit is called again 2025-03-15 01:32:37 -07:00
Vicki Pfau 84704502bd Qt: Properly activate context when resizing layers (fixes #3435) 2025-03-14 14:57:01 -07:00
Vicki Pfau cfe04fff88 OpenGL: Fix layer texture generation 2025-03-14 14:55:56 -07:00
Vicki Pfau 95043a5864 Qt: Nahimic sucks 2025-03-14 13:55:14 -07:00
Vicki Pfau 05d1cff6eb FFmpeg: Add Ut Video option 2025-03-11 15:08:47 -07:00
Vicki Pfau aa5f4bc3a4 3DS: Change title ID to avoid conflict with commercial title (fixes #3023) 2025-03-11 14:51:04 -07:00
Vicki Pfau 2751cc23f5 CHANGES: Update for 0.10.5 2025-03-08 20:07:46 -08:00
Vicki Pfau b698d4e317 ARM: Placate Coverity even more 2025-03-08 02:09:54 -08:00
Vicki Pfau 1bbdbd4482 Util: Placate Coverity a bit more 2025-03-08 02:09:28 -08:00
Vicki Pfau ae3a5988d0 Qt: Placate Coverity a bit 2025-03-07 23:10:09 -08:00
Vicki Pfau 2c71435c43 SDL: Add a small bit of allowable extra audio buffering 2025-03-03 19:19:20 -08:00
Vicki Pfau 056f53ff4a Feature: Fix memory leak when recording a video log 2025-02-28 21:37:04 -08:00
Eric Warmenhoven eeb52e4027 libretro: change accelerometer values to be same as for switch 2025-02-28 16:30:48 -08:00
Vicki Pfau 51e813aa9a Core: Add ENABLE_DIRECTORIES to optionally slim down VFS further 2025-02-28 16:18:02 -08:00
Vicki Pfau c302d99d1b Libretro: Add missing SCGB model BIOS name 2025-02-28 03:09:15 -08:00
Vicki Pfau abb46602ca GB: Allow use of CGB-E and AGB-0 BIOS versions (closes #3427) 2025-02-27 02:38:04 -08:00
Vicki Pfau 9923d1b3a1 Util: Cap internal buffer size when unzipping files (fixes #3404) 2025-02-26 23:46:39 -08:00
Vicki Pfau 5fd0ba0d67 GBA Cheats: Let VBA-style codes patch ROM (fixes #3423) 2025-02-23 22:49:08 -08:00
Vicki Pfau f108dd801d res: Add Game Boy/Color metadata to .desktop file 2025-02-16 23:22:41 -08:00
Vicki Pfau 2dc4397c1b Vita: Allow using rear touch pads as L2/L3/R2/R3 (#3054) 2025-02-14 22:54:06 -08:00
Vicki Pfau 6a29f23ca5 Qt: Update translations 2025-02-14 18:19:54 -08:00
reimu105 9c9614e16d Qt: Update translation (Chinese (Simplified Han script))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2025-02-14 18:17:12 -08:00
தமிழ்நேரம் 0d19cf1d5c Qt: Added translation (Tamil)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ta/
2025-02-14 18:17:12 -08:00
Felipe 2e0f926892 Qt: Update translation (Portuguese (Brazil))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2025-02-14 18:17:12 -08:00
reimu105 9c4c541c91 Qt: Update translation (Chinese (Traditional Han script))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
2025-02-14 18:17:12 -08:00
Adam Higerd 8c98eafc77 Qt: Fix use-after-free in shader settings 2025-02-13 22:36:31 -08:00
Vicki Pfau 7607a5bea9 GB MBC: Add Sintax support 2025-02-12 03:52:03 -08:00
Vicki Pfau 6221cd2d06 Qt: Enable ROM preloading by default 2025-02-11 05:12:35 -08:00
Vicki Pfau daf01b03d5 3DS: Expose late thread flush as "loose sync" 2025-02-10 02:24:15 -08:00
Vicki Pfau a9041b122f GBA Video: Allow proxy flush timing configuration 2025-02-10 02:23:53 -08:00
Vicki Pfau fc14b4b0da mGUI: Add better description of the fastForwardMute option 2025-02-09 16:27:34 -08:00
Vicki Pfau 55f21cd951 mGUI: Fix saving integer config values 2025-02-09 16:26:36 -08:00
Vicki Pfau d365312757 ARM Debugger: Fix disassembly of ror r0 barrel shift (fixes #3412) 2025-02-07 18:02:53 -08:00
Vicki Pfau 2e7918d8b2 GBA: Update some register information with new stereoscopy discoveries 2025-02-07 03:03:09 -08:00
Vicki Pfau 92e10f31ea Qt: Fix regression where loading BIOS creates a save file (fixes #3359) 2025-01-21 00:50:34 -08:00
Vicki Pfau 2dd11712db Python: Fix some missing constants (fixes #3402) 2025-01-21 00:33:42 -08:00
Vicki Pfau 7fe4f4593e GBA Savedata: Rename flash ID constants, add missing entries 2025-01-20 16:55:30 -08:00
Vicki Pfau 2c0e572841 CHANGES: Add missing entries 2025-01-20 00:26:05 -08:00
Vicki Pfau ed64b35db7 CMake: Default macOS SDK version to OS version if not found 2025-01-19 18:41:06 -08:00
Vicki Pfau e518a5ced0 Debugger: Define and use mDebuggerModuleClearNeedsCallback 2025-01-19 16:58:15 -08:00
Ikko Eltociear Ashimine 4189a4d731 docs: add Japanese README
I created Japanese translated README.
2025-01-19 04:33:08 -08:00
Vicki Pfau 4cc49a6700 Qt: Let memory access logs be loaded read-only 2025-01-18 23:46:24 -08:00
Vicki Pfau 7012f9c666 Debugger: Allow memory access logs to operate read-only 2025-01-15 23:46:20 -08:00
Vicki Pfau 311d9f3550 Debugger: Unroll watchpoint access loop 2025-01-14 03:38:30 -08:00
Vicki Pfau b8c890e1bc Debugger: Plumb access source information through to access logger 2025-01-14 03:30:28 -08:00
Vicki Pfau deb4f547fa Qt: GB memory access logger fixes 2025-01-12 22:41:29 -08:00
Vicki Pfau 8c2e2e1d46 Qt: Fix build 2025-01-12 16:22:34 -08:00
Vicki Pfau 6be223d84a Qt: Defer destroying the CoreController until after the CoreController::stopping slots finish 2025-01-12 06:14:10 -08:00
Vicki Pfau 762a54a388 Core: Threads should not attempt to exit a thread that is already dead 2025-01-12 06:01:10 -08:00
Vicki Pfau 159b0dc445 Qt: Add access log view to memory view 2025-01-12 06:00:40 -08:00
Vicki Pfau 75dc290853 Debugger: Expose mDebuggerAccessLoggerGetRegion 2025-01-12 04:30:12 -08:00
Vicki Pfau 511437312c Qt: Revamp memory view layout 2025-01-11 19:47:21 -08:00
Vicki Pfau 87bf982338 Qt: Update translations 2025-01-11 14:54:53 -08:00
Artur Dudka 61d1dc742d Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2025-01-11 14:53:15 -08:00
Roll8ack d96ff26983 Qt: Update translation (Chinese (Simplified Han script))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2025-01-11 14:53:15 -08:00
reimu105 e3f3baed51 Qt: Update translation (Chinese (Traditional Han script))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
2025-01-11 14:53:15 -08:00
Momo cao 0880b007fa Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2025-01-11 14:53:15 -08:00
Daniel Nylander 34c992eb23 Qt: Update translation (Swedish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/sv/
2025-01-11 14:53:15 -08:00
Felipe 3e5e20c6f0 Qt: Update translation (Portuguese (Brazil))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2025-01-11 14:52:52 -08:00
Vicki Pfau a2fda7f441 Qt: Split MemoryAccessLogView and MemoryAccessLogController 2025-01-11 14:50:30 -08:00
Vicki Pfau f58f9746d7 Qt: Allow passing multiple games on command line for multiplayer (closes #3061) 2025-01-10 02:46:58 -08:00
Vicki Pfau 77e50f7aec Feature: Add ability for subparsers to consume extra arguments 2025-01-10 02:45:27 -08:00
Vicki Pfau 080a79fdee CMake: Work around CMake dependency dedupliation issues 2025-01-09 01:54:10 -08:00
Vicki Pfau 7643a044f4 mGUI: Wrap around menu cursor when navigating past end (closes #3356) 2025-01-09 00:37:54 -08:00
Vicki Pfau 838439dcef Headless: goto considered harmful 2025-01-07 02:44:03 -08:00
Vicki Pfau 20dfbbbe55 CMake: Strip mgba-headless, fix up packaging a bit 2025-01-07 02:40:47 -08:00
Adam Higerd 419435c35b Scripting: send print() to stdout if no console is installed 2025-01-02 20:39:38 -08:00
Vicki Pfau 0ccd3c84dc Qt: Make --script explanation match headless explanation 2025-01-02 02:07:04 -08:00
Vicki Pfau d9aa7d5103 Headless: Rename mgba-rom-test to mgba-headless 2025-01-02 01:59:08 -08:00
Vicki Pfau 69ead6e3c9 ROM Tester: Add script running 2025-01-02 01:59:08 -08:00
Vicki Pfau ef6659d587 Scripting: Make mScriptContextLoad run the script too 2025-01-02 01:59:08 -08:00
Johan Mattsson fe37fa2ab2 Fix potential index out of bounds in DisplayQt.cpp 2025-01-02 01:24:57 -08:00
Vicki Pfau ee21e43bdb Scripting: Install callbacks in mScriptContextAttachCore instead of mCoreThread 2025-01-02 01:21:20 -08:00
Vicki Pfau eb5fc371ff Scripting: Let mScriptContextAttachLogger take NULL for logger 2025-01-02 01:14:11 -08:00
Vicki Pfau 3c59429d96 FFmpeg: Fix build 2025-01-02 00:15:46 -08:00
Vicki Pfau e29b5ac047 FFmpeg: Use avcodec_get_supported_config when present 2025-01-02 00:11:04 -08:00
Vicki Pfau 4eb1dbca36 Core: Quash some warnings 2025-01-01 01:22:08 -08:00
Vicki Pfau 9f5c2aa00c Scripting: Expose MD5 checksum 2024-12-31 17:04:52 -08:00
Vicki Pfau 39ced7dd81 Windows: Don't redefine WIN32_LEAN_AND_MEAN if already defined 2024-12-31 16:52:34 -08:00
Vicki Pfau 132293449d Scripting: Attempt to fix Windows build 2024-12-31 16:51:50 -08:00
Vicki Pfau 23531e24b8 Scripting: Remove needless heap allocations 2024-12-31 03:11:31 -08:00
Vicki Pfau 72ee6f9840 Scripting: Expose info table to breakpoint/watchpoint callbacks (closes #3369) 2024-12-31 02:53:14 -08:00
Vicki Pfau d55ee872e3 CHANGES: Remove duplicated line 2024-12-31 01:48:05 -08:00
Vicki Pfau abb9bec571 GB Core: Fix cloning savedata when backing file is outdated (fixes #3388) 2024-12-31 01:45:03 -08:00
Vicki Pfau 6b5638efda Core: Improve PNG deserialization logging 2024-12-31 01:35:53 -08:00
Vicki Pfau 4007e19736 CMake: Fix entitlements plist filename 2024-12-29 17:38:14 -08:00
Vicki Pfau ad0d3972a6 Updater: Fix rewriting folders and files on Windows (fixes #3384) 2024-12-28 22:47:13 -08:00
Vicki Pfau d82fc3dec1 FFmpeg: Fix failing to record videos with CRF video (fixes #3368) 2024-12-24 18:54:10 -08:00
Vicki Pfau 08430fc058 mGUI: Load parent directory if last used directory is missing (fixes #3379) 2024-12-22 04:50:46 -08:00
Vicki Pfau 39ab641953 GBA Savedata: Demote savegme time offset message to DEBUG level 2024-12-20 02:14:23 -08:00
Vicki Pfau 1983d0f42c GBA Core: Fix booting into BIOS when skip BIOS is enabled 2024-12-14 22:28:08 -08:00
Vicki Pfau fb0fed21aa Qt: Skip processing QLocale::C if present 2024-12-13 14:48:27 -08:00
Vicki Pfau 34e1ef45b6 Qt: Update translations 2024-12-12 04:08:48 -08:00
Vicki Pfau 0ca391cffc Qt: Fix up how the language names get displayed 2024-12-12 04:08:48 -08:00
Vicki Pfau c2741c73db Qt: Rename LatAm Spanish to just "Spanish" 2024-12-12 04:08:48 -08:00
Momo cao 0df20d2da5 Qt: Update translation (Spanish (Latin America))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es_419/
2024-12-12 04:08:48 -08:00
Roll8ack 082dd75591 Qt: Update translation (Chinese (Simplified Han script))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2024-12-12 04:08:48 -08:00
Daniel Nylander 1e21b38793 Qt: Update translation (Swedish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/sv/
2024-12-12 04:08:48 -08:00
ibizastweet 9099ff0d44 Qt: Update translation (French)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/fr/
2024-12-12 04:08:48 -08:00
Hexaae 54a9457c65 Qt: Update translation (Italian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2024-12-12 04:08:48 -08:00
Gabriel Kao 50e30447fb Qt: Update translation (Chinese (Traditional Han script))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
2024-12-12 04:08:48 -08:00
reimu105 97d3f34a25 Qt: Update translation (Chinese (Traditional))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
2024-12-12 04:08:47 -08:00
Still Hsu 63492252d2 Qt: Update translation (Chinese (Traditional))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
2024-12-12 04:08:47 -08:00
cyruuspmd5de3b0e46e4e4998 66a909a9b7 Qt: Update translation (Chinese (Traditional))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
2024-12-12 04:08:47 -08:00
Vicki Pfau 7d2fbb060a Qt: Added translation (Chinese (Traditional))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hant/
2024-12-12 04:08:47 -08:00
Hoseok Seo f7d2c464d4 Qt: Update translation (Korean)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
2024-12-12 04:08:47 -08:00
Felipe 23bb668200 Qt: Update translation (Portuguese (Brazil))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2024-12-12 04:08:47 -08:00
Daniel Nylander 3c32fd867b
Update setup.iss.in with Swedish (#3367) 2024-12-12 02:35:14 -08:00
Vicki Pfau edaa27796b GBA: Improve reset behavior of various hardware components 2024-12-11 17:24:22 -08:00
Vicki Pfau 655211651a GBA Memory: Properly narrow down GPIO write validity check 2024-12-11 16:25:17 -08:00
Vicki Pfau 109fbe60f5 GBA Hardware: Fix loading states unconditionally overwriting GPIO memory 2024-12-11 16:24:51 -08:00
Vicki Pfau f4595f4578 CHANGES: Update for 0.10.4 2024-12-07 21:27:03 -08:00
Vicki Pfau 00d17c6f42 GBA BIOS: Fix reseting SWI mode SPSR in SoftReset 2024-12-07 18:00:23 -08:00
Adam Higerd 938ee55d42 Qt: honor control characters in ScriptingTextBuffer::print 2024-12-03 23:18:26 -08:00
Vicki Pfau 1eb130a28b GBA SIO: Allow externally-clocked NORMAL transfers (fixes #3360) 2024-12-03 23:04:45 -08:00
Vicki Pfau a9bddb92e3 GBA Unlicensed Carts: Detect "SPIDERMAN3" header too 2024-11-25 19:29:23 -08:00
Vicki Pfau f9851e6b75 GBA BIOS: Move SoftReset implementation to assembly
This improves the timing of the SoftReset implementation (though it's still way
faster than Nintendo's official implementation), which is important for some
multicarts.
2024-11-25 19:28:23 -08:00
Vicki Pfau 7ec56763f9 Qt: Fix installer updates if a version number is in the filename (fixes #3109) 2024-11-24 17:55:53 -08:00
Vicki Pfau a5e3e746b2 GBA Unlicensed Carts: Prevent multicarts from remapping after being locked 2024-11-23 19:46:44 -08:00
Vicki Pfau 822a2c8df5 GBA Unlicensed Carts: Improve bank swapping behavior 2024-11-23 03:23:45 -08:00
Vicki Pfau bdb0057fb3 GBA Serialize: Add support for Vast Fame state 2024-11-23 03:23:05 -08:00
Adam Higerd 122128eae5 Qt: load unpacked shaders, warn on shader load error 2024-11-22 23:42:09 -08:00
Adam Higerd a2e7e5b902 Qt: don't save shader choice until OK/Apply is clicked 2024-11-22 23:42:09 -08:00
Adam Higerd f930184efb Qt: save shader settings when OK/Apply clicked 2024-11-22 23:42:09 -08:00
CasualPokePlayer cca3267ef6 Serialize light counter to the correct bitfield
Resolves #3294
2024-11-20 15:53:22 -08:00
Vicki Pfau 2a0ed00d0d CMake: I'm tired of putting out fires 2024-11-18 00:55:55 -08:00
Vicki Pfau d9b43463d0 CMake: Set both -mmacosx-version-min and CMAKE_OSX_DEPLOYMENT_TARGET 2024-11-18 00:44:04 -08:00
Vicki Pfau dc263295dd GBA Memory: Add unlicensed cart write handling stub 2024-11-17 03:34:33 -08:00
Vicki Pfau 91cf829261 GBA Memory: Add initial support for N-in-1 style multicarts 2024-11-17 02:58:25 -08:00
Vicki Pfau d5fbd0ff1c GBA VFame: Refactor reordering code to be simpler 2024-11-17 02:27:28 -08:00
Vicki Pfau 3d493239d7 GBA Savedata: Update flash busy comment 2024-11-17 02:27:28 -08:00
Vicki Pfau cfd30b7a95 GBA Savedata: Fix erroneously setting the error bit 2024-11-08 21:38:25 -08:00
Vicki Pfau 4d6fb5b3c5 Scripting: Combine frame argument and return value stacks
These were never used a the same time, and it reduces malloc/free churn
2024-11-08 02:27:45 -08:00
Vicki Pfau 645d1cf344 GBA Savedata: Improve save write edge cases 2024-11-08 02:27:45 -08:00
Vicki Pfau f89184d51f GBA BIOS: Fix locked BIOS read on boot 2024-11-08 02:27:45 -08:00
Vicki Pfau 77e747ebf6 mGUI: Fix control remapping not reloading (fixes #3277) 2024-11-03 19:38:17 -08:00
Vicki Pfau 17b03b6f20 GBA Video: Fix potential shader compilation error 2024-11-03 18:03:18 -08:00
Adam Higerd b272968969 Qt: handle newlines in TextBuffer print() 2024-11-03 17:19:50 -08:00
yeah-its-gloria a114207828 Fix various macOS related problems
- Disable a duplicate libraries warning that isn't needed
- Quit using QApplication::quit instead of QWidget::close to prevent closing inside a dialog from crashing the application
- Allow Qt 6 builds to use std::filesystem if the proper macOS SDK version is present
- Stop looking for QtMultimedia plugins if Qt 6 is being used for macOS builds
2024-11-03 17:19:05 -08:00
Bo He ef5646bbe3 associate windows with the owning application 2024-11-03 01:22:43 -07:00
oltolm 26ea53b024 fix numpad shortcuts 2024-10-31 16:45:51 -07:00
Jan200101 377ddf5081 Qt: Recreate Window to release old surface and create a OpenGL one 2024-10-30 17:11:44 -07:00
Vicki Pfau 47e5cd2432 Qt: Fix "QFSFileEngine::open: No file name specified" warning 2024-10-29 22:56:39 -07:00
oltolm 65b14b4ad9 fix assignment of modifier keys 2024-10-29 22:48:41 -07:00
Vicki Pfau 279485fc3e Qt: Fix saving named states breaking when screenshot states disabled (fixes #3320) 2024-10-20 18:04:30 -07:00
Vicki Pfau 1c739e39e7 GBA DMA: Minor branch optimization 2024-10-18 05:08:14 -07:00
Vicki Pfau 4a5a25e90c GBA DMA: Cache cycle estimation on first DMA 2024-10-18 03:50:09 -07:00
Vicki Pfau afff68cfc0 Qt: Show a dummy shader settings tab if shaders aren't supported 2024-10-11 21:52:48 -07:00
Vicki Pfau 67c3c40989 Util: Shut Coverity up about a false positive 2024-10-09 00:26:10 -07:00
Vicki Pfau 4ef98c7ddf Core: Fix patch autoloading leaking the file handle 2024-10-08 04:39:53 -07:00
Vicki Pfau eaf45b9ab8 GB, GBA: Clean up some corner cases with ROM fd closing 2024-10-08 04:34:30 -07:00
Vicki Pfau 7e474db93a Qt: Fix some new SIO cleanup issues 2024-10-08 04:32:43 -07:00
Vicki Pfau 2ccfde0f33 Core: Add MD5 hashing for ROMs 2024-10-08 04:09:26 -07:00
Vicki Pfau 58510ca250 Util: Add MD5 implementation and consistency tests 2024-10-08 04:06:39 -07:00
Vicki Pfau 0e52f7054f Res: Add demo input display script 2024-10-06 03:20:49 -07:00
Vicki Pfau 7950279a09 Core: Split out semantics of rumble integrator init/reset (fixes #3309) 2024-10-04 22:20:21 -07:00
Vicki Pfau 5fb7c5e3ee Core: Add sanity check for mDirectorySetOpenSuffix 2024-10-04 17:17:59 -07:00
Vicki Pfau 541ed9606c Core: Check for null when autoloading/saving cheats 2024-10-04 17:13:43 -07:00
Vicki Pfau c71cd4a81b Qt: Improve --script help 2024-10-01 02:02:18 -07:00
Vicki Pfau bfc52cd2f0 All: Fix whitespace errors 2024-09-30 17:24:04 -07:00
Vicki Pfau 8941f74292 Qt: Add missing tr()s 2024-09-29 20:27:34 -07:00
Vicki Pfau 36f321f848 Python: Actually fix build 2024-09-29 20:27:34 -07:00
Vicki Pfau ed0a63d1b8 Python: Attempt to fix build 2024-09-29 20:09:48 -07:00
Vicki Pfau d57bb82d22 Merge branch 'feature/new-sio' 2024-09-29 20:00:23 -07:00
Vicki Pfau f0d65b73e8 GBA SIO: Late cleanup 2024-09-29 19:59:02 -07:00
Vicki Pfau 3f7cfb3e32 GBA SIO: Attempt to clean up resyncing on disconnects 2024-09-29 19:58:56 -07:00
Vicki Pfau 7089a5572b GBA SIO: Add periodic hard sync so the runner doesn't get too ahead 2024-09-29 19:58:56 -07:00
Vicki Pfau 4008ccea3d CHANGES: Update 2024-09-29 01:00:32 -07:00
CasualPokePlayer a26971cdc7 This should be in Deserialize not Serialize 2024-09-29 00:58:29 -07:00
CasualPokePlayer 2c1fcf9691 Fix savestates not writing back GPIO variables to gpioBase
Resolves #3294

Also see https://github.com/TASEmulators/BizHawk/issues/4060 (this is fixed with this patch).
2024-09-29 00:58:29 -07:00
Vicki Pfau 79ed790a4e GBA IO: Fix SIOCNT/RCNT serialization 2024-09-28 00:24:31 -07:00
Vicki Pfau 39d90e5e44 GBA SIO: Only set up GBP driver if no other driver is loaded 2024-09-28 00:24:31 -07:00
Vicki Pfau 1d584edb77 GBA: Expose setting the link port device as a peripheral 2024-09-28 00:24:31 -07:00
Vicki Pfau 5db42e83c9 Qt: Delay attaching SIO driver until a second player is connected 2024-09-28 00:24:31 -07:00
Vicki Pfau 7fa572e3ff GBA SIO: Split lockstep interval for linked and unlinked times 2024-09-28 00:24:31 -07:00
Vicki Pfau 0823797671 GBA SIO: Remove driver sets and driver load/unload concepts 2024-09-28 00:24:31 -07:00
Vicki Pfau f2bbf8e66c GBA SIO: Support save states in lockstep driver 2024-09-26 22:40:26 -07:00
Vicki Pfau 630e3a591a GBA SIO: Add support for side data in save states 2024-09-26 22:40:26 -07:00
Vicki Pfau 26e20ca846 GBA SIO: Remove old lockstep driver 2024-09-26 22:40:26 -07:00
Vicki Pfau cd8933415c Qt: Switch to new GBA lockstep driver 2024-09-26 22:40:26 -07:00
Vicki Pfau 0955b94466 GBA SIO: Bring up new lockstep driver 2024-09-26 22:40:26 -07:00
Vicki Pfau 36c1a8cfbc Core: Implement mLockstepUser for mCoreThread 2024-09-26 22:40:26 -07:00
Vicki Pfau 3180d432e5 Core: Add new mLockstepUser API for upcoming lockstep rewrite 2024-09-26 22:40:26 -07:00
Vicki Pfau 0b9cf1270c GBA SIO: Modify GBASIOTransferCycles to not require SIO struct 2024-09-26 22:40:26 -07:00
Vicki Pfau 621eb4d425 GBA SIO: Move starting/end timing logic out of drivers 2024-09-26 22:40:26 -07:00
Vicki Pfau 435c4aa243 GBA SIO: Improve RCNT emulation 2024-09-26 22:40:26 -07:00
Vicki Pfau 0425dadee9 GBA SIO: Add RCNT bitfield 2024-09-26 22:40:26 -07:00
Vicki Pfau 914d879811 GBA SIO: Allow seamless mode switching if driver supports it 2024-09-26 22:40:26 -07:00
Vicki Pfau ab655db3f8 GBA SIO: Fix NORMAL timing out 2024-09-26 22:40:26 -07:00
Vicki Pfau b572e8b09f GBA SIO: Fix SIO register writing per mode 2024-09-26 22:40:26 -07:00
Vicki Pfau aeb547e3dc GBA SIO: Finish up GBASIOWriteRegister logging 2024-09-26 22:40:26 -07:00
Vicki Pfau aad552ff47 GBA SIO: Add writeRCNT callback, mostly for GPIO mode 2024-09-26 22:40:26 -07:00
Vicki Pfau 5da4b1fc4d GBA SIO: Replace writeRegister with writeSIOCNT 2024-09-26 22:40:26 -07:00
Vicki Pfau 9998de4880 GBA SIO: Move more write logging out of drivers 2024-09-26 22:40:26 -07:00
Vicki Pfau 54c9e9d411 GBA SIO: Move NORMAL finishing logic out of drivers 2024-09-26 22:40:26 -07:00
Vicki Pfau 1b0b540de6 GBA SIO: Move cycle estimation values into core 2024-09-26 22:40:26 -07:00
Vicki Pfau cd4132fba3 GBA SIO: Move MULTI finishing logic out of drivers 2024-09-26 22:40:26 -07:00
Vicki Pfau f9e15c53d9 GBA SIO: Move more SIO logic out of drivers 2024-09-26 22:40:26 -07:00
Vicki Pfau 09a69a32c0 GBA SIO: Start moving common SIO logic out of drivers 2024-09-26 22:40:26 -07:00
Vicki Pfau 451da0f8a4 GBA SIO: Start adding new SIO callbacks for revamped API 2024-09-26 22:40:26 -07:00
Vicki Pfau 4cfa9c6545 Python: Remove SIO API pending revamp 2024-09-26 22:40:26 -07:00
Vicki Pfau 4b0b6b5d37 Scripting: Fix readRegister return type 2024-09-26 21:22:08 -07:00
Vicki Pfau c564a20970 GBA I/O: Fix 8-bit NR44 write 2024-09-20 23:21:14 -07:00
Vicki Pfau 1636078b34 GBA I/O: Fix audio register 8-bit write behavior (fixes #3086) 2024-09-20 03:12:06 -07:00
Vicki Pfau 49fa1a30c5 Qt: Fix Windows shared build 2024-09-19 02:09:20 -07:00
Vicki Pfau f75f9fd5fd Appveyor: Use Windows 11 SDK 2024-09-19 01:01:35 -07:00
Vicki Pfau c64dbd6631 Qt: Make window corners square on Windows 11 (fixes #3285) 2024-09-19 00:05:58 -07:00
Vicki Pfau 11787df6cd Res: Port NSO-gba-colors shader (closes #2834) 2024-09-16 03:59:10 -07:00
Vicki Pfau 271c6dc129 Res: Update gba-colors shader (closes #2976) 2024-09-16 03:51:08 -07:00
Vicki Pfau b37bd308f2 Qt: Update translations 2024-09-16 02:57:54 -07:00
Vicki Pfau 3853b699f4 Qt: Fix how some languages are shown in settings 2024-09-16 02:56:26 -07:00
Imre Kristoffer Eilertsen 9d9cb7450f Qt: Update translation (Norwegian Bokmål)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/nb_NO/
2024-09-16 02:55:35 -07:00
Evrins Hu a60448d7bc Qt: Update translation (Chinese (Simplified))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2024-09-16 02:55:35 -07:00
Milihraim e4973a98d8 Qt: Update translation (Russian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2024-09-16 02:55:35 -07:00
Hexaae 3ad4e62b02 Qt: Update translation (Italian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2024-09-16 02:55:35 -07:00
Vicki Pfau bb8a6e05f9 GBA Memory: Add support for palette RAM, VRAM, and OAM to GBAPatch8 2024-09-15 03:18:16 -07:00
Vicki Pfau a6914b2ddb Util: Rename color_t to avoid namespace conflicts 2024-09-06 23:24:40 -07:00
Vicki Pfau 1c85dba0df Core: Fix creating mVL contexts dropping the savestate 2024-09-06 23:24:40 -07:00
Vicki Pfau b072cb40cb Core: Fix video proxy renderer creation and improve API 2024-09-06 23:24:40 -07:00
Vicki Pfau ae6cc33a5e Core: Improve future-proofing of struct initialization 2024-09-06 21:33:09 -07:00
Vicki Pfau 3a07834226 Test: Allow extdata fuzzing 2024-09-06 21:19:34 -07:00
Vicki Pfau a5ea157c9a GBA Video: Add stubs for saving/loading extra data out of the video renderers 2024-09-01 01:56:52 -07:00
Vicki Pfau da553d191f Core: Extdata should not have a size < 0 2024-09-01 01:36:07 -07:00
Vicki Pfau 59b561b8c0 Core: mStateExtdataGet const correctness 2024-09-01 01:28:05 -07:00
Vicki Pfau 3a6657bd88 Core: Add stubs for loading/saving subsystem extra state 2024-09-01 00:55:29 -07:00
Vicki Pfau c06a376b2e Core: Switch video log state load/store to use mCore*State functions 2024-08-31 05:14:54 -07:00
Vicki Pfau 84dd69ff86 Util: Add UIntList predefined vector 2024-08-25 02:32:39 -07:00
anthonydo8196 ecfdff2338
Add load most recent script menu option (#3266) 2024-08-19 18:58:47 -07:00
Vicki Pfau eaee4228ba GBA Video: Improve emulation of window start/end conditions (fixes #1945) 2024-08-16 02:32:44 -07:00
Vicki Pfau e91da0f423 Scripting: Expose currentCycle in debugger builds
The global time is only maintained in debugger builds for performance reasons.
While it can be reconstructed on GBA, this is not the case on GB, so limit it
to debugger builds only.
2024-08-13 18:38:07 -07:00
Vicki Pfau cd22c140f0 GB: Fix potential null pointer deref 2024-08-13 00:16:42 -07:00
Vicki Pfau dfab801277 No-Intro: Prevent database from being downgraded 2024-08-12 16:08:36 -07:00
Vicki Pfau 17cf2e6237 No-Intro: Index database on MD5 and SHA1 too 2024-08-11 23:25:18 -07:00
Vicki Pfau b12858e974 GBA: Fix getting game info for multiboot ROMs 2024-08-11 23:25:18 -07:00
Vicki Pfau 8ab2681bca Core: Expose more ROM information from the API 2024-08-11 23:25:18 -07:00
Vicki Pfau ff216ad83b Res: Update nointro.dat 2024-08-11 23:25:18 -07:00
jmjoy fde15b6e7d Remove SDL_WINDOW_OPENGL flag in mSDLSWInit 2024-08-08 20:34:08 -07:00
Vicki Pfau 09f456484c GB Serialize: Prevent loading invalid states where LY >= 144 in modes other than 1 2024-07-19 19:43:12 -07:00
Adam Higerd eb1b5718c3 Fix misplaced return in previous PR 2024-07-12 17:28:18 -07:00
Adam Higerd d1ab52112a Don't try to load non-.sym files as ARMIPS symbols 2024-07-12 17:20:44 -07:00
Vicki Pfau 9b598d2fe4 GBA Core: Fix crash after loading debug symbols (fixes #3254) 2024-07-11 14:09:35 -07:00
Vicki Pfau 0484cd5d31 GBA: Remove unused field 2024-07-07 12:24:24 -07:00
Vicki Pfau 4c161ff4df GBA Core: Fix loading symbols from ELF files if the file doesn't end with .elf 2024-07-07 11:13:32 -07:00
Vicki Pfau 5ebf3822cc Debugger: Remove redundant ifdef 2024-07-07 11:08:29 -07:00
Vicki Pfau bdffa83e6b GB, GBA Core: Fix memory leak if reloading debug symbols
Also fix loading an ELF if the current seek is not 0
2024-07-07 11:03:25 -07:00
Vicki Pfau f394c51a75 Qt: Fix some controllers with multiple players (e.g. Mayflash GC adapter) getting duplicated 2024-07-01 20:52:04 -07:00
Vicki Pfau 0a57aca1a5 Qt: Fix closure argument types 2024-07-01 20:45:26 -07:00
Vicki Pfau 916fa1dba0 CMake: Fix compile flags for docgen 2024-07-01 01:06:36 -07:00
oltolm a824989e5a fix shortcuts 2024-06-28 02:18:01 -07:00
Vicki Pfau 79193b914b GBA Audio: Fix crash in audio subsampling if timing lockstep breaks 2024-06-25 04:08:47 -07:00
Vicki Pfau a4c2571d98 GBA Audio: Fix crash if audio FIFOs and timers get out of sync 2024-06-25 03:43:22 -07:00
Vicki Pfau 1a3873da67 GBA Serialize: Fix some minor save state edge cases
There are two edge cases fixed in this commit. The first one involves audio
FIFO DMA state not being properly updated if the game reconfigured it between
save and load. This doesn't happen often, but it could conceivably affect
custom sound engines. The second case is the extremely rare case of a save
state being taken directly after a DMA ending but before an open bus read. The
chances of this happening are negligible, but it's still a bug regargless.
2024-06-25 03:13:33 -07:00
Vicki Pfau e8bfaa210a GBA Video: Fix VRAM access stalling even during force blanking 2024-06-24 01:16:30 -07:00
Vicki Pfau d8375a5896 GBA Memory: Fix affine background timing errors 2024-06-20 22:30:16 -07:00
Vicki Pfau 9318e9b2cb All: Clean up how assertions are done 2024-06-20 02:23:02 -07:00
Vicki Pfau 2ea11feda6 GBA Memory: Improve VRAM access stall cycle estimation 2024-06-17 02:27:31 -07:00
Vicki Pfau 458300b02e Core: Improve rumble emulation by averaging state over entire frame (fixes #3232) 2024-06-17 00:15:44 -07:00
Vicki Pfau 745e36e6bc GB Video: Remove leftover #include 2024-06-17 00:15:44 -07:00
Vicki Pfau 3837ea8444 GB Debugger: Fix file formatting 2024-06-17 00:15:44 -07:00
Vicki Pfau ab0194fb49 GB MBC: Switch Pocket Cam to using standard color conversion methods 2024-06-17 00:15:44 -07:00
Rib 58651f2054 GBA Memory: Clean up Vast Fame code somewhat 2024-06-12 15:58:55 -07:00
Rib 20fc7b6ef3 GBA Memory: Support the Chinese version of Digimon Sapphire by Vast Fame 2024-06-12 15:58:55 -07:00
Vicki Pfau e16dfc264a GBA: CP14 mcr also is a no-op 2024-06-09 02:20:27 -07:00
Vicki Pfau 2c97515742 Script: Add missing include 2024-06-09 01:15:25 -07:00
Vicki Pfau 6f261f6f1b Scripting: Split console implementation out from Core scripting 2024-06-09 01:12:14 -07:00
Vicki Pfau 59f4fb7132 Test: Read config file in rom-test 2024-06-09 00:55:07 -07:00
Vicki Pfau 7451decdac Windows: Inno Setup fixes
Update minimum Windows version to 7, add DisableDirPage=no
2024-06-03 18:53:53 -07:00
yeah-its-gloria 8b041e9a23 Qt: Ignore rewind while loading/saving states 2024-06-03 16:59:56 -07:00
Vicki Pfau cf959fe20e GBA: Actually it reads open bus 2024-06-02 17:37:18 -07:00
Vicki Pfau 455060ec08 GBA: Add baseline CP0 (Wii U VC) and CP1 (DCC) implementations 2024-06-02 17:33:25 -07:00
Vicki Pfau e4e455dd5e ARM: Add framework for coprocessor support 2024-06-02 17:30:17 -07:00
Vicki Pfau 942167acdf ARM: Backport some CPU table improvements from medusa 2024-06-02 17:17:24 -07:00
Vicki Pfau 56023cfd02 Core: Fix warnings 2024-06-01 00:07:19 -07:00
Vicki Pfau b7729c9e80 GBA Video: Add special circlular window handling in OpenGL renderer 2024-05-27 02:57:23 -07:00
oltolm c7b5d10546 fix Qt deprecation warnings 2024-05-26 00:20:52 -07:00
Vicki Pfau 3a3ebb5dc7 Third-Party: Cherry-pick rapidjson buildfix 2024-05-25 01:33:26 -07:00
Vicki Pfau 2b394e1e26 GBA SIO: Remove erroneous RCNT setting 2024-05-24 21:17:10 -07:00
Vicki Pfau 8c0a28477b GBA SIO: Improve MULTI timing 2024-05-24 01:34:05 -07:00
Vicki Pfau 649be1b505 SDL: Properly disable SDL build if libsdl isn't found (fixes #3213) 2024-05-21 23:02:35 -07:00
Vicki Pfau 8b1efec116 Qt: Fix LCDC background priority/enable bit being mis-mapped in I/O view 2024-05-12 02:51:07 -07:00
Vicki Pfau b723ed4764 Qt: Better fix for I/O viewer 2024-05-12 02:48:05 -07:00
Vicki Pfau 6e3a00e081 Qt: Fix crash when applying changes to GB I/O registers in I/O view 2024-05-11 21:51:57 -07:00
Evrins Hu 92b67f960c doc: update readme in zh_cn 2024-05-10 22:58:00 -07:00
Vicki Pfau f6851eba95 Libretro: Fix mapped high SRAM start address 2024-05-08 17:26:54 -07:00
Vicki Pfau e73f302aee Libretro: Attempt to fix #3202 2024-05-08 17:06:53 -07:00
Vicki Pfau 1ca75446c6 Libretro: Fix audio resampling after GBA fix 2024-05-07 22:33:49 -07:00
Vicki Pfau e5333f4e7c GBA Audio: Call audioRateChanged on reset if applicable 2024-05-07 22:32:33 -07:00
Vicki Pfau 8106fbf51c Libretro: Fix build 2024-05-07 22:05:27 -07:00
Vicki Pfau ff2dfeb516 Util: Clean up VFileOpen backing a bit more 2024-05-07 22:02:49 -07:00
Vicki Pfau d9e080b9a9 GBA: Prefix SIO constants with GBA_ 2024-05-06 15:35:23 -07:00
Vicki Pfau 1d2b8bf918 Libretro: Add Super Game Boy Color support (closes #3188) 2024-04-30 02:57:41 -07:00
Vicki Pfau df75204a0b Wii: Fix audio resampling after GBA fix 2024-04-27 19:15:04 -07:00
Vicki Pfau 4aba51e955 Vita: Fix audio resampling after GBA fix 2024-04-27 18:55:18 -07:00
Vicki Pfau 5e581b0ade 3DS: Fix audio resampling after GBA fix 2024-04-27 18:29:29 -07:00
Vicki Pfau 5a28564b12 Switch: Fix audio resampling after GBA fix 2024-04-27 18:24:33 -07:00
Vicki Pfau db1e02521e GBA Core: Fix audio sample rate dynamically changing (fixes #3194) 2024-04-26 19:05:45 -07:00
Vicki Pfau aae9c502f0 Misc: Fix a slew of less-than-important warnings 2024-04-25 01:03:08 -07:00
Vicki Pfau 87653b7b19 Qt: Fix potential crash when configuring shortcuts 2024-04-24 23:19:31 -07:00
Vicki Pfau 88a8f80ebd VFS: Rename USE_VFS_* to ENABLE_VFS_* 2024-04-24 22:54:43 -07:00
Vicki Pfau 96702f7db1 Util: Use HAS_IPV6 more where appropriate 2024-04-23 22:33:57 -07:00
Vicki Pfau 55add8a2c6 Util: Early exist mAudioBufferRead if the buffer is full 2024-04-22 21:42:34 -07:00
Vicki Pfau 2bce03023b GB, GBA Audio: Refactor stream code to do less when no stream is present 2024-04-22 21:39:11 -07:00
Vicki Pfau 3f54bcbc87 GB, GBA Audio: More efficient sample writing 2024-04-22 04:19:50 -07:00
Vicki Pfau d5e49a5981 All: Remove unmaintained RasPi and Pandora code 2024-04-22 03:34:55 -07:00
Vicki Pfau 267167a236 Libretro: Fix non-ENABLE_VFS build 2024-04-22 03:24:22 -07:00
Vicki Pfau 21d4f0f5fc All: Split ENABLE_VFS out from MINIMAL_CORE=2 2024-04-22 03:07:54 -07:00
Vicki Pfau 2cbbaea483 Python: Attempt to fix build 2024-04-22 03:04:34 -07:00
Vicki Pfau d422cbe65d OpenEmu: Remove upstream core
This is maintained downstream and not synchronized back upstream
2024-04-22 00:52:26 -07:00
Vicki Pfau fa2fe8eed4 Third-Party: Remove blip_buf 2024-04-22 00:49:34 -07:00
Vicki Pfau f51cb153d1 Core: Switch from blip to mAudioResampler 2024-04-22 00:47:42 -07:00
Vicki Pfau 89866aff95 GBA Audio: Remove broken XQ audio pending rewrite
Gone but not forgotten.
2024-04-22 00:29:11 -07:00
Vicki Pfau febedc3a38 Util: Allow audio resampler to use different interpolators 2024-04-21 16:32:45 -07:00
Vicki Pfau afa8a25b5b Util: Add cosine interpolator 2024-04-21 16:26:20 -07:00
Vicki Pfau 2eca3c1477 Vita: Switch to using lw mutexes 2024-04-21 03:01:33 -07:00
Vicki Pfau f84208a3e4 GBA Memory: Let raw access read high MMIO addresses 2024-04-20 22:55:13 -07:00
Vicki Pfau f298c0185e Qt: Add option to force a specific version of Qt 2024-04-20 17:36:31 -07:00
Vicki Pfau 61791c91cb Switch: Fix warnings 2024-04-20 02:41:59 -07:00
Vicki Pfau b40cdd070c Switch: Switch to resampling with audren 2024-04-20 02:39:36 -07:00
Vicki Pfau 5d92c3ca0a SDL: Fix GB audio speed 2024-04-16 22:38:49 -07:00
Vicki Pfau 7b2edbd1bd Core: Add functions to get native sample rates 2024-04-16 21:02:55 -07:00
Vicki Pfau 73a39dea65 Core: Finally kill off GBAAudioCalculateRatio 2024-04-16 21:02:55 -07:00
Vicki Pfau 96a2ef5f42 Util: Enable dropping part of a circle buffer with a null read 2024-04-16 21:02:55 -07:00
Vicki Pfau 76169c669a Util: Fix circle buffer dump offset forcing an early wrap 2024-04-16 21:02:55 -07:00
Vicki Pfau 9fa825e336 Util: Start bringing up new resampler 2024-04-16 21:02:55 -07:00
oltolm 4bd09bdac2 fix hang in AudioDevice 2024-04-16 16:32:46 -07:00
Vicki Pfau d1a6e6b747 Qt: Add option to lock the maximum frame size (closes #1493) 2024-04-14 20:39:58 -07:00
Vicki Pfau be85200b3e Qt: Fix race condition in Qt display driver that could cause division by zero 2024-04-14 20:22:11 -07:00
Vicki Pfau e8e6b803f2 Qt: Fix window resizing when no game is loaded 2024-04-14 16:54:02 -07:00
Vicki Pfau a999a87607 Debugger: Actually handle parseLexedExpression returning false 2024-04-14 04:22:40 -07:00
Vicki Pfau 2d7000c8ae Util: Remove unreachable code 2024-04-14 04:18:43 -07:00
Vicki Pfau f13a087b04 Feature: Fix (unused) mVideoProxyBackendRun with block=true 2024-04-14 04:17:15 -07:00
Vicki Pfau 237d502404 Util: Add prototype mAudioBuffer wrapper 2024-04-13 00:48:37 -07:00
Vicki Pfau fd4175ebf8 Util: Rename CircleBuffer to mCircleBuffer 2024-04-12 23:27:37 -07:00
Vicki Pfau b62ae33f38 Util: Change mInterpolator data API 2024-04-12 23:17:07 -07:00
Vicki Pfau e8c6613b12 Util: Fix misaligned end pointer case 2024-04-12 22:59:08 -07:00
Vicki Pfau ce46b6fe78 Util: Fix overzealous CircleBufferRead/Write16, lots more tests 2024-04-12 22:33:28 -07:00
Vicki Pfau c689a7fd48 Util: Add CircleBufferWriteTruncate 2024-04-12 21:31:06 -07:00
Vicki Pfau 6d2109dd48 Util: Add offset parameter to CircleBufferDump, more tests 2024-04-12 21:27:35 -07:00
Vicki Pfau 042a66bb80 Scripting: Fix leak when freeing painters 2024-04-12 20:52:16 -07:00
Vicki Pfau cecb4543c3 Util: Remember to free memory in tests 2024-04-12 00:54:54 -07:00
Vicki Pfau bc6a80137f Util: Start adding CircleBuffer tests 2024-04-12 00:46:12 -07:00
Vicki Pfau a8023e4f6a Qt: Remove debug message from CMakeLists 2024-04-11 20:33:51 -07:00
Vicki Pfau 2d03ae64ba 3DS: Handle audio resampling in DSP 2024-04-11 00:47:45 -07:00
Vicki Pfau cbd117eb3a Util: Start bringing up better audio resampling 2024-04-10 23:54:40 -07:00
Vicki Pfau 72202544bb Core: Don't trigger watchpoints with access inside of a script (fixes #3050) 2024-04-09 00:59:29 -07:00
Vicki Pfau 61172d837f Core: Fix thread not waking up properly on canceling request 2024-04-08 19:59:11 -07:00
Vicki Pfau 2037e97fc9 Qt: Update translation (Chinese (Simplified))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2024-04-08 15:46:06 -07:00
Vicki Pfau 0e441527c8 CMake: Rename USE_DEBUGGERS and USE_GDB_STUB to ENABLE_DEBUGGERS and ENABLE_GDB_STUB
ENABLE flags are for optional features, USE flags are for optional dependencies
2024-04-08 03:08:10 -07:00
Vicki Pfau 4652bbb427 Util: Fix #if into #ifdef 2024-04-08 02:53:00 -07:00
Vicki Pfau 02b2f5a98a flags.h: Add missing flags 2024-04-08 02:52:47 -07:00
Vicki Pfau 47ec447dd0 CMakeLists: Fix strtof_l detection logic 2024-04-08 02:11:14 -07:00
Vicki Pfau 04a95a5445 CHANGES: Remove duplicate entry 2024-04-08 02:10:58 -07:00
Vicki Pfau 1f2d0d5056 GBA GPIO: Fix gyro read-out start (fixes #3141) 2024-04-05 00:10:09 -07:00
Vicki Pfau e61a324df2 Core: More threading cleanup 2024-04-04 23:00:41 -07:00
Vicki Pfau 008a6f3f23 Scripting: Attempt to fix MSVC build 2024-04-04 00:31:47 -07:00
Vicki Pfau 104d746c1e Core: Fix some mutex ordering 2024-04-04 00:28:58 -07:00
Vicki Pfau b5a2f62c88 SDL: Really fix the build this time 2024-04-03 04:59:04 -07:00
Vicki Pfau ee1a860ac4 SDL: Fix build on SDL 2.0.12 2024-04-03 04:57:19 -07:00
Hexaae 8907131244 Qt: Update translation (Italian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2024-04-03 04:47:08 -07:00
Imre Kristoffer Eilertsen 910326f29d Qt: Update translation (Norwegian Bokmål)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/nb_NO/
2024-04-03 04:47:08 -07:00
ssantos 33bfd7f752 Qt: Update translation (Portuguese)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt/
2024-04-03 04:47:08 -07:00
Anatolij Vasilev af2e2fd517 Qt: Update translation (German)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
2024-04-03 04:47:08 -07:00
Guih48 b78d230ba9 Qt: Update translation (Hungarian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/hu/
2024-04-03 04:47:08 -07:00
Enes Çetinkal 0a8470a6d0 Qt: Update translation (Turkish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/tr/
2024-04-03 04:46:04 -07:00
Ensar Melih Bulut 3a37c1d3ff Qt: Update translation (Turkish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/tr/
2024-04-03 04:46:04 -07:00
Eryk Michalak 7af70a69bb Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2024-04-03 04:46:04 -07:00
Felipe 424ef6ff74 Qt: Update translation (Portuguese (Brazil))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2024-04-03 04:46:04 -07:00
Hoseok Seo dcb07f6e33 Qt: Update translation (Korean)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
2024-04-03 04:46:04 -07:00
Momo cao 5acef1c454 Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2024-04-03 04:46:04 -07:00
gallegonovato 6e39eb37f6 Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2024-04-03 04:46:04 -07:00
Vicki Pfau 9320588e45 Qt: Switch SDL controller usage from Joystick to GameController 2024-04-03 04:41:54 -07:00
Vicki Pfau 68d120ec55 SDL: Start actually using SDL_GameController for its intended purpose 2024-04-03 02:56:29 -07:00
Vicki Pfau fb7ad7dbfb Qt: Actually load defaults again 2024-04-03 02:55:59 -07:00
Vicki Pfau 5ff777d301 Scripting: Add overloads, overload isKeyActive 2024-04-02 22:53:02 -07:00
Vicki Pfau e3edca1f41 Scripting: Attempt to shake out single-lua_State requirement 2024-03-26 22:24:14 -07:00
Vicki Pfau 86551614d9 Qt: Enable building against Qt6 by default 2024-03-25 21:27:58 -07:00
Vicki Pfau ae8b88a4a3 Qt: Fix underrun stalling with Qt6 2024-03-25 21:16:09 -07:00
Vicki Pfau 1179d218e7 Qt: Fix Qt6 build 2024-03-25 02:35:03 -07:00
Vicki Pfau a430f58c15 GB, GBA: Move more override-adjacent stuff to public API 2024-03-25 01:47:32 -07:00
Vicki Pfau 318c5d7435 GBA: Move GBAHardwareDevice to public API 2024-03-25 01:24:50 -07:00
Vicki Pfau 4a17ed3b9c GBA: Remove legacy "mirroring" field from overrides 2024-03-25 01:23:39 -07:00
Vicki Pfau abf484638e GBA: Fix build 2024-03-25 01:23:14 -07:00
Vicki Pfau e48acb6b97 GB, GBA: Move override structs to public API 2024-03-24 23:03:59 -07:00
Vicki Pfau ea5339304a GBA Savedata: Prefix SavedataType constants and type name 2024-03-24 22:57:51 -07:00
Vicki Pfau 6940b424df Qt: Fix non-Multimedia build 2024-03-24 22:07:31 -07:00
Vicki Pfau 04bbcdfdd1 Qt: Fix build 2024-03-24 21:31:53 -07:00
Vicki Pfau dc29af8262 Qt: Hook up cameras in Qt6 2024-03-24 21:18:41 -07:00
Vicki Pfau 06448e8445 Qt: Get VideoDumper compiling with Qt6
Cameras still don't work though
2024-03-24 19:51:09 -07:00
Vicki Pfau 3f21de2b7c Qt: Port AudioProcessorQt to Qt6 2024-03-24 15:56:00 -07:00
Vicki Pfau cf0d8fdc28 Qt: Get InputController compiling with Qt6
Cameras still don't work though
2024-03-24 15:55:56 -07:00
Vicki Pfau a2587cb8cf Util: Code cleanup to remove unreachable code 2024-03-19 21:40:38 -07:00
Vicki Pfau aa7b9349f8 Core: Clean up thread state mutex usage 2024-03-19 21:30:47 -07:00
Vicki Pfau c80f3afd77 Qt: Reattach video backend when resetting scripts (fixes #3167) 2024-03-18 23:26:01 -07:00
Vicki Pfau 776d52a2c6 Scripting: Export new image masking function 2024-03-18 23:17:42 -07:00
Vicki Pfau 4fdadc585d GB Audio: Fix audio envelope timing resetting too often (fixes #3164) 2024-03-17 19:53:41 -07:00
Vicki Pfau c8c9fcb665 SDL: Use SDL_GameControllerRumble instead of SDL_JoystickRumble if available 2024-03-12 17:46:25 -07:00
Vicki Pfau d8ab5529a7 GB: Fix type coercion 2024-03-11 21:55:26 -07:00
TuxSH 369e6a03f4 Fix menu bug that allowed the selection of invalid states when wrap=true 2024-03-11 21:55:04 -07:00
TuxSH 4ee633925c 3DS: Implement 3x sharp bilinear scaling and make it the default
- Old method was 2x. 3x looks quite a bit sharper in aspect-fit mode on
  non-O2DS as the width is an integer number of half-width pixels. Since
  resulting upscaling ratio is 3x:1.5x, this gives very good results,
  althought it might be too sharp for your liking (YMMV). Not as much of
  a difference in screen-fit mode
- Remove duplicate rendertarget as it was not necessary
2024-03-11 21:55:04 -07:00
Vicki Pfau c541a79e95 Windows: Fix compilation woes from last commit 2024-03-04 21:52:25 -08:00
oltolm 3571b112dc fix compilation warnings 2024-02-27 00:43:00 -08:00
oltolm cf54ddd864 CMake: make compile with mingw-w64 and Qt6 2024-02-27 00:43:00 -08:00
Vicki Pfau 49d9b70e6f Core: Move rewind state coalescing into mCoreRewindRestore 2024-02-08 17:15:18 -08:00
Vicki Pfau c917a71ef8 Qt: Improve OpenGLES support and cleanup ifdef maze 2024-02-07 03:38:07 -08:00
Vicki Pfau 55c7c2f48e CMake: Remove leftover debug print 2024-02-07 01:44:57 -08:00
Vicki Pfau bba2c131a1 Qt: Shut coverity up a bit more 2024-01-31 15:41:34 -08:00
Vicki Pfau 3b32da60fa Qt: Attempt to fix MSVC build 2024-01-31 02:36:35 -08:00
Vicki Pfau 7bd877dfbd Qt: Shut up coverity some, despite this probably not doing anything 2024-01-31 01:22:18 -08:00
Vicki Pfau eff1785ce0 Qt: Coverity complains about this but I have no idea if it matters 2024-01-30 16:20:52 -08:00
Vicki Pfau 4cdcfe6dd3 Qt: Fix potential null deref 2024-01-30 16:20:52 -08:00
Vicki Pfau 530b997d7e Qt: Fix uninitialized variable 2024-01-30 16:20:52 -08:00
Vicki Pfau 1723a353c2 Updater: Fix updating appimage across filesystems 2024-01-30 16:20:52 -08:00
Bastien Orivel 7cacae1262 Add a `--script` option to load scripts automatically on startup 2024-01-30 15:52:48 -08:00
Vicki Pfau 0815443aeb Qt: Use && in some places that coverity recommends 2024-01-30 02:59:52 -08:00
Vicki Pfau 3133105fc9 Qt: Pay down a bit of MemoryAccessLogView tech debt 2024-01-30 02:59:52 -08:00
Vicki Pfau c0a323dbcd VFS: Fix UB 2024-01-30 02:59:52 -08:00
Vicki Pfau 7b0e400710 Util: Fix leak in SfoWrite 2024-01-30 02:59:52 -08:00
Vicki Pfau 7727b6434d Qt: Pass logging context through to video proxy thread (fixes #3095) 2024-01-30 02:59:52 -08:00
Vicki Pfau 4590dfc68b Qt: Switch VideoProxy to using QMutexLocker 2024-01-30 02:59:52 -08:00
Vicki Pfau 1fc37e9962 Core: Migrate thread context TLS to its own key 2024-01-30 02:59:52 -08:00
Vicki Pfau 05bf592dec SDL: Refactor out layer recentering, fix for GB 2024-01-30 02:59:52 -08:00
Steveice10 398df56ac9 core: Add support for specifying an arbitrary portable directory. 2024-01-29 20:21:18 -08:00
unknown 3e86758a9f Qt GDB Window defaults to loopback address 2024-01-29 20:19:20 -08:00
unknown 6243a57832 GBA Debugger defaults to loopback address 2024-01-29 20:19:20 -08:00
Vicki Pfau e5b14977ce Qt: Remember to set m_dims for the early return 2024-01-27 00:31:30 -08:00
Vicki Pfau e1ebaed508 OpenGL: Mark interframe shader as dirty too (fixes #3099) 2024-01-27 00:31:07 -08:00
Vicki Pfau 11e16d1ad9 GBA SIO: Fix MULTI mode SIOCNT bit 7 writes on secondary GBAs (fixes #3110) 2024-01-21 17:42:55 -08:00
Vicki Pfau 845d69e817 Qt: Fix input event threading regression (fixes #3116) 2024-01-21 17:28:16 -08:00
Vicki Pfau 5479ab1307 Vita: Use sceIoPwrite in VFileSce.sync 2024-01-21 02:46:46 -08:00
Vicki Pfau 4e87dc61ee Vita: Add imc0 and xmc0 mount point support 2024-01-21 02:46:45 -08:00
Vicki Pfau 6e773eafea VFS: Modernize VDeviceList implementation 2024-01-21 02:46:09 -08:00
Vicki Pfau 12ed251c0b GB: Fix uninitialized save data when loading undersized temporary saves 2024-01-21 02:46:09 -08:00
Vicki Pfau 7157729ac3 Swtich: Fix config item count 2024-01-18 18:10:32 -08:00
Vicki Pfau c2e2b6d93c Switch: Add bilinear filtering option (closes #3111) 2024-01-18 02:58:50 -08:00
Vicki Pfau 328bebbc01 GBA Video: Migrate window precalculation into a function 2024-01-09 23:26:14 -08:00
Vicki Pfau 2c5882df3e All: Fix some warnings 2024-01-09 22:17:33 -08:00
Vicki Pfau 72a620a484 CHANGES: Update for 0.10.3 2024-01-07 19:19:46 -08:00
Vicki Pfau 4717d25eb5 Res: Update patrons.txt 2024-01-07 19:17:33 -08:00
Vicki Pfau 70689e1112 Res: Update nointro.dat 2024-01-07 19:17:33 -08:00
Vicki Pfau 16c777cdd9 Qt: Fix screen freezing on macOS after closing save state window (fixes #2885) 2024-01-07 16:57:25 -08:00
Vicki Pfau feb7b5a116 Config: Fix warning 2024-01-07 16:57:25 -08:00
Vicki Pfau e01fc0f2b7 3DS: Remove fancy memory mapping 2024-01-07 16:57:25 -08:00
Vicki Pfau 2e3ad7ed16 CMake: Clean up with PROJECT_SOURCE_DIR 2024-01-07 16:57:25 -08:00
Sophie Kirschner 3becd63ef5
Res: Add gbc-lcd shader, imitates GBC LCD subpixel arrangement with an optional backlight effect (#3097) 2024-01-06 22:54:01 -08:00
luc-git 48253afc54
Qt: Fix shaders not applying when display is loaded (#3100)
Co-authored-by: Vicki Pfau <vi@endrift.com>
2024-01-06 22:47:11 -08:00
Vicki Pfau d83b2f99cd VFS: Use anonymousMemoryMap for large 7z allocations (fixes #3013) 2023-12-21 22:57:36 -08:00
Vicki Pfau 45387aa663 Qt: Fix Action leak 2023-12-21 00:24:16 -08:00
Vicki Pfau ffacbcfeea Qt: Make Gamepad be a shared_ptr 2023-12-20 22:59:35 -08:00
Vicki Pfau 5bd5a8d998 GBA I/O: Fix HALTCNT access behavior (fixes #2309) 2023-12-20 22:05:17 -08:00
Vicki Pfau 6ee880c58b GB Audio: Improve "zombie mode" emulation in CGB mode (fixes #2029) 2023-12-20 02:52:45 -08:00
Vicki Pfau 36a9602e62 CInema: Update SameSuite results 2023-12-20 02:31:37 -08:00
Vicki Pfau c8f4d4aad9 GB Audio: Fix restarting envelope when writing to register (fixes #3067) 2023-12-20 02:19:19 -08:00
Vicki Pfau 1f6337fc1f CInema: Fix xbaseline differences being ignored with no baseline 2023-12-20 02:19:19 -08:00
Vicki Pfau a171c54b9a CInema: Sprite priority has been fixed 2023-12-20 02:19:19 -08:00
Vicki Pfau fc95ee2795 CInema: Add samesuite, mostly failing 2023-12-20 02:19:19 -08:00
Daniel Simon 333483a69e Qt: Fix generic icon on Wayland 2023-12-19 13:56:38 -08:00
Vicki Pfau bfc830e08d mGUI: Persist fast forwarding after closing menu (fixes #2414) 2023-12-18 22:57:51 -08:00
Vicki Pfau 3a5642fcb8 GB: Fix applying a patch that changes the cartridge mapper (fixes #3077) 2023-12-11 22:05:55 -08:00
Vicki Pfau 256143944a Qt: Code signing cleanup 2023-12-11 18:42:31 -08:00
Vicki Pfau ec2f791655 Qt: Do initial macOS resource staging in local app bundle 2023-12-11 01:50:00 -08:00
Vicki Pfau 7b2fe75ebf Qt: Move install in CMake so install scripts get run first 2023-12-11 01:21:01 -08:00
Vicki Pfau 83528e14f5 Qt: Do codesigning on macOS 2023-12-11 00:42:32 -08:00
Vicki Pfau 2e5836e179 Res: Add entitlements list for macOS 2023-12-10 23:53:10 -08:00
Vicki Pfau c7240b0e8e Qt: Fix minimum macOS version setting 2023-12-10 21:29:31 -08:00
Vicki Pfau a874450c1a CMake: Bump minimum macOS to 10.7 when building against SDL2 2023-12-10 21:16:29 -08:00
Daniel dc9a2572d1 Add Goodboy Galaxy to overrides
To enable rumble
2023-11-28 09:36:37 -08:00
Vicki Pfau 63b18687f0 Test: Allow ROM tester to be debugged 2023-11-24 22:28:05 -08:00
Vicki Pfau 569bc92b90 Test: Use refactored argument handling 2023-11-24 22:28:05 -08:00
Vicki Pfau 18a35b3928 Feature: Move command-line patch/cheats argument handling 2023-11-24 22:28:05 -08:00
Vicki Pfau 3e47da2e18 SDL: Fix minor leak if debugger isn't used 2023-11-24 22:28:05 -08:00
Vicki Pfau 319bdbd106 Feature: Move command-line debugger argument handling 2023-11-24 22:28:05 -08:00
Vicki Pfau b7284542bc Debugger: Move CLIDebugerEditLine implementation into debugger/ 2023-11-24 22:28:05 -08:00
Vicki Pfau ce4024a29e GBA Savedata: Fix crash when resizing flash save games for RTC data 2023-11-24 22:28:05 -08:00
Vicki Pfau 050c5da263 Tools: Move updater and docgen source into tools/ 2023-11-24 22:28:05 -08:00
Vicki Pfau 978e7c94b2 Tools: Add SDF-generation tool and 4x font SDF 2023-11-24 22:28:05 -08:00
nia d75d26bcc9 Scripting: Check for ENOTRECOVERABLE
It's part of "robust mutexes" and may not necessarily be available
(e.g. on NetBSD 9)
2023-11-20 02:49:43 -08:00
Vicki Pfau 6853080b98 FFmpeg: Fix deprecation warnings 2023-11-06 22:16:14 -08:00
Vicki Pfau 437ad30547 GBA Audio: Only read MP2k context addresses if valid 2023-10-29 17:07:15 -07:00
Vicki Pfau 9c9f31d0d1 Qt: Fix non-debugger build (fixes #3049) 2023-10-25 15:22:09 -07:00
Vicki Pfau 6ecc182d7c Qt: Attach debugger when attaching scripting controller (fixes #3046) 2023-10-15 19:42:50 -07:00
Vicki Pfau dca568a0be CMake: Fix DEFAULT_LTO 2023-10-15 19:19:02 -07:00
leo60228 ce374b15a3 Debugger: Advertise QStartNoAckMode support 2023-10-07 23:56:23 -07:00
leo60228 6e2c3885ee Debugger: Fix off-by-one breaking StartNoAckMode 2023-10-07 23:56:23 -07:00
David Spickett ef7edba159 Debugger: Fix interrupt after continue from GDB stub
GDB and LLDB will send a ctrl-c character (\x03) to the stub
to interrupt it after a continue where it doesn't stop on its own.

E.g.
```
void foo() {
  foo2();      // Continue from here.
  while (1) {} // Loops here until ctrl-c in the debugger.
}
```

mGBA had code to handle the ctrl-c but because in _continue
we set the paused status after calling mDebuggerModuleSetNeedsCallback,
the callback was never set so nothing was looking for new messages
while we were running. We should instead set the paused state then call
mDebuggerModuleSetNeedsCallback.

mDebuggerModuleSetNeedsCallback calls mDebuggerUpdatePaused, and all
other calls to mDebuggerUpdatePaused update the paused state before
that call so this matches existing usage of that too.

With this fix, after the continue _gdbStubPoll is called periodically
and will pick up the ctrl-c as it comes in (_gdbStubWait is used when
we are stopped in the debugger).

This fixes ctrl-c to interrupt when using lldb and gdb.
2023-10-07 23:56:11 -07:00
Vicki Pfau 46f59df10a Core: Add missing defines to flags.h 2023-09-27 20:21:28 -07:00
Vicki Pfau d34ec95879 Wii: Fix build 2023-09-27 20:21:03 -07:00
Vicki Pfau 0f0dccdcf2 Scripting: Unpack breakpoint name struct 2023-09-27 17:53:30 -07:00
Vicki Pfau 476dcc11df Scripting: Attach canvas object in docgen 2023-09-27 16:51:48 -07:00
Vicki Pfau 1dd00d5bb0 Scripting: Fix typo in docs 2023-09-27 16:47:43 -07:00
Vicki Pfau 4215332eb4 Revert "Qt: Ensure action set is clean before (re)building"
This reverts commit 3ee12b1a55.
2023-09-24 21:04:59 -07:00
David Spickett 7de02c9949 Debugger: Correct PC value when read with 'p' instead of 'g' packet
The 'g' packet is handled by _readGPRs which has a special case for
the PC due to the way the CPU reports the PC value.

This was added by added by a967f9aac4.

The 'p' packet is handled by _readRegister which did not have this
special case for PC. This lead to GDB reporting the correct PC value
but LLDB not, as the latter used 'p' instead.

This meant you saw things like this:
    0x80002a4 <+16>: str    r0, [sp, #0x4]
    0x80002a8 <+20>: bl     0x80001f0      <----------expected to be here.
->  0x80002ac <+24>: b      0x80002b0

Where you expected to be about to bl to another function,
but it looked like you had already done it.

And more obviously, when you first attached to the GDB stub,
the PC was reported as 4 not 0.
2023-09-22 23:07:43 -07:00
Vicki Pfau beda1d5b87 Scripting: Enhance error reporting 2023-09-16 01:30:40 -07:00
Vicki Pfau efb30080e8 Scripting: Code cleanup 2023-09-16 01:20:55 -07:00
Vicki Pfau 0c675b12e4 Scripting: Simplify console implementation 2023-09-16 01:20:34 -07:00
Vicki Pfau 805773aa8f Scripting: Fix console error log level 2023-09-16 00:42:52 -07:00
Vicki Pfau c03b15944b Qt: Add shadow ROM exporting 2023-09-15 23:36:03 -07:00
Vicki Pfau 8610147ad7 Qt: Expand romFilters functionality 2023-09-15 23:36:03 -07:00
Vicki Pfau 131b983894 Debugger: Move platform-specific flag lookup to mDebuggerPlatform 2023-09-15 23:36:03 -07:00
Vicki Pfau d55a13c9ba Debugger: Initial memory access logger support 2023-09-15 23:36:03 -07:00
Vicki Pfau 9c673f527d ARM, SM83: Check for events both before and after single stepping 2023-09-15 23:36:03 -07:00
Vicki Pfau 5d32e432b3 GBA Core: Add missing blocks 2023-09-15 23:36:03 -07:00
Vicki Pfau c6316edf2a GB, GBA: Move CLI debugger headers 2023-09-15 22:08:12 -07:00
Vicki Pfau 7015a104be Debugger: Clean up layering violation 2023-09-15 22:08:12 -07:00
Vicki Pfau b2dd7611ea GBA Core: Export reduced GBA ROM region size if the ROM is less than 32 MiB 2023-09-15 22:06:33 -07:00
Vicki Pfau 022e009a75 GB Core: Fix exported size information 2023-09-15 22:06:33 -07:00
Vicki Pfau b46278b3ed GBA: Make sure unloading a ROM frees the AGBPrint buffer 2023-09-15 22:06:33 -07:00
Vicki Pfau 4b9072de03 Qt: Move controller-based subview auto-closing 2023-09-14 22:34:46 -07:00
Vicki Pfau f051b88f81 Qt: SaveConverter doesn't use the controller 2023-09-14 22:34:46 -07:00
Vicki Pfau 4de9d5f16c Core: Fix potential UAF when loading a ROM in a VDir 2023-09-14 22:34:46 -07:00
Vicki Pfau 8520ad8f1f GBA I/O: Prefix GBA registers with GBA_REG_ 2023-09-07 00:12:19 -07:00
Vicki Pfau 4c03970ffe GBA I/O: More legibility improvements 2023-09-07 00:12:19 -07:00
Vicki Pfau bcb0073a4a GBA I/O: Improve legibility of long constants 2023-09-07 00:12:19 -07:00
Vicki Pfau 6ed7341b5a Debugger: Fix trace 2023-09-06 18:59:07 -07:00
Vicki Pfau 20931a89d9 GBA Core: Fix Flash 1M memory block descriptor 2023-09-02 00:43:43 -07:00
Vicki Pfau f2186f6a5c Vita: Fix camera setting not appearing (fixes #3012) 2023-08-28 13:29:03 -07:00
Vicki Pfau 85c9872cd6 GB I/O: Fix STAT writing IRQ trigger conditions (fixes #2501) 2023-08-25 23:02:18 -07:00
Vicki Pfau 0acc8c2af2 GBA Audio: Fix sample position issues when rate changes (fixes #3006) 2023-08-23 14:35:16 -07:00
Vicki Pfau 16fe12cc97 Qt: Remove shared_ptr copies in for loops 2023-08-18 22:14:40 -07:00
Vicki Pfau 5c2a55884b Qt: Fix remaining non-Multimedia Qt 6 build issues 2023-08-18 21:45:08 -07:00
Vicki Pfau 613ce0286a Qt: Force surface type to OpenGL in DisplayGL 2023-08-18 21:44:46 -07:00
Vicki Pfau 17dbdcf57c Qt: Change Action* semantics to std::shared_ptr<Action> 2023-08-18 21:30:33 -07:00
Vicki Pfau 3ee12b1a55 Qt: Ensure action set is clean before (re)building 2023-08-18 21:28:43 -07:00
Vicki Pfau 6e65b70c32 Qt: Fix input-related Qt 6 build errors 2023-08-18 20:17:19 -07:00
Vicki Pfau f5a6906ef8 Qt: Fix display-related Qt6 build errors 2023-08-18 20:12:18 -07:00
Vicki Pfau f637b5b1e8 Util: Fix warning when libpng is disabled 2023-08-10 12:43:39 -07:00
Vicki Pfau bbdcb8b83b Scripting: Fix rounding warning 2023-08-10 12:17:44 -07:00
Vicki Pfau 56d21feb10 OpenGL: Fix warnings 2023-08-10 12:17:44 -07:00
Vicki Pfau 19e44d59d0 Util: Fix warnings 2023-08-10 12:06:29 -07:00
Vicki Pfau a4d8c433c6 Scripting: Silence warnings 2023-08-10 12:03:15 -07:00
Vicki Pfau f96ba8c1aa ARM: Fix warning 2023-08-10 11:58:05 -07:00
Vicki Pfau 6a317779c8 Qt: Fix mute settings not being loaded on setting screen (fixes #2990) 2023-08-08 19:34:10 -07:00
Vicki Pfau 0cd50cae8c Qt: Fix crash entering commands into detached debugger (fixes #2987) 2023-08-06 22:38:45 -07:00
Vicki Pfau 1bb8d52e16 Qt: Fix gdb at startup (fixes #2986) 2023-08-05 17:58:12 -07:00
shenef fdfa73a7f5 Qt: Mark video encoding options as untranslatable 2023-08-05 16:33:22 -07:00
Vicki Pfau fc1bfb9c73 Qt: Remove maligned double-click-to-fullscreen shortcut (closes #2632) 2023-08-05 12:47:14 -07:00
Vicki Pfau b0977cef94 Qt: Re-enable sync for multiplayer windows that aren't connected (fixes #2974) 2023-08-04 23:19:29 -07:00
Vicki Pfau 189fce016f Scripting: Fix typo 2023-08-04 21:35:50 -07:00
Vicki Pfau 3574f1cc6b Scripting: Export mPainter class 2023-08-03 19:32:27 -07:00
Vicki Pfau 3d0c982d6e Scripting: Add handling of wrapper type specification in function signatures 2023-08-03 19:32:04 -07:00
Vicki Pfau 09b7eea127 Script: Add mScriptContextInvoke for context-specific invocation and thread handling 2023-08-02 23:41:40 -07:00
Vicki Pfau 5534d23690 Updater: Fix existing directory update logic 2023-07-31 18:23:08 -07:00
Vicki Pfau ec52154112 Qt: Fix uninitialized members 2023-07-29 18:33:06 -07:00
Vicki Pfau 8b4818c3d8 OpenGL: Fix uninitialized context dimensions 2023-07-29 18:32:55 -07:00
Vicki Pfau 0457b1bcb7 Util: Shape drawing fixes, better tests 2023-07-29 14:13:55 -07:00
Vicki Pfau fe229348eb Qt: Update translations 2023-07-28 13:00:34 -07:00
Felipe abd7ccbb1f Qt: Update translation (Portuguese (Brazil))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2023-07-28 12:56:26 -07:00
Davi Lopes 9a8ab700f7 Qt: Update translation (Portuguese (Brazil))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2023-07-28 12:55:32 -07:00
Felipe 5b38c0f398 Qt: Update translation (Portuguese (Brazil))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2023-07-28 12:55:32 -07:00
shinyoyo fd6a4161ac Qt: Update translation (Chinese (Simplified))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2023-07-28 12:53:25 -07:00
Luna Lyday 6c55c26082 Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2023-07-28 12:53:25 -07:00
raid273 92d7c1a1d1 Qt: Update translation (Japanese)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ja/
2023-07-28 12:53:25 -07:00
ssantos 8c0b9f6d06 Qt: Added translation (Portuguese)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt/
2023-07-28 12:53:25 -07:00
Lothar Serra Mari b5c1330528 Qt: Update translation (German)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
2023-07-28 12:49:39 -07:00
Guih48 5fb0ae88a7 Qt: Update translation (Hungarian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/hu/
2023-07-28 12:48:46 -07:00
gallegonovato 1ee7b70194 Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2023-07-28 12:48:33 -07:00
Hoseok Seo 652b078aab Qt: Update translation (Korean)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
2023-07-28 12:48:06 -07:00
Vicki Pfau 57ba653bc7 Util: Add mPainterDrawCircle 2023-07-27 20:26:25 -07:00
Vicki Pfau ba49175697 Util: Add mPainterDrawLine 2023-07-24 21:01:01 -07:00
Vicki Pfau 4ca8ffe3f4 Updater: Fix MSVC build 2023-07-24 19:21:43 -07:00
Vicki Pfau 9742722213 GUI: Add missing include 2023-07-23 22:48:30 -07:00
Vicki Pfau 02ba4f2499 GBA GPIO: Fix tilt scale and orientation (fixes #2703) 2023-07-23 22:47:47 -07:00
Vicki Pfau 5f35899ba3 Util: Start mPainter bringup with rectangle drawing 2023-07-23 21:43:15 -07:00
Vicki Pfau 369eab8da3 Util: Fix alpha blending calculation 2023-07-23 21:12:59 -07:00
Vicki Pfau c8cfaefcc8 Updater: Fix overwriting files with directories 2023-07-18 01:42:30 -07:00
Vicki Pfau 1e68020d1c Qt: Handle multiple save game files for disparate games separately (fixes #2887) 2023-07-17 21:34:37 -07:00
Vicki Pfau 4b38883b6a Qt: Plumb through some path info into the CoreController 2023-07-16 22:28:23 -07:00
Vicki Pfau c0507b8a71 Qt: Fix leak if loading a save file fails 2023-07-16 22:02:18 -07:00
Vicki Pfau 52ef584424 Updater: Fix overwriting directories with files 2023-07-16 20:41:48 -07:00
Vicki Pfau 436d6c5a08 Qt: Clean up multiplayer attaching/detaching 2023-07-16 18:40:38 -07:00
Vicki Pfau 90b75e4c11 Qt: Const correctness 2023-07-16 15:27:39 -07:00
Vicki Pfau 51d5f4bfd1 Qt: Distribute shaders as zipped archives on supported builds 2023-07-16 01:45:04 -07:00
Vicki Pfau c49050fe65 Qt: Let the getOpenFileName function class take an optional starting path 2023-07-16 01:44:07 -07:00
Vicki Pfau 4e55bc703c FFmpeg: Fix isampleRate initialization 2023-07-10 18:18:15 -07:00
Vicki Pfau 0e2ede06bc GBA: Fix hasOverride initialization 2023-07-10 18:17:46 -07:00
Vicki Pfau 00e62f231a ARM: Fake bpkt instruction should take no cycles (fixes #2551) 2023-07-05 22:10:33 -07:00
Vicki Pfau 44e074a15e GBA BIOS: Add DACS compatibility to HLE BIOS (closes #2972) 2023-07-04 23:23:17 -07:00
Vicki Pfau 3f0d06e307 GBA: Unhandled bkpt should be treated as an undefined exception 2023-07-04 04:22:21 -07:00
Vicki Pfau fd84ceddda GBA SIO: Fix normal mode SI/SO semantics (fixes #2925) 2023-07-03 23:14:57 -07:00
Vicki Pfau 747158d5a6 Qt: Add exporting of SAV + RTC GB saves from Save Converter to strip RTC data 2023-07-03 16:08:52 -07:00
Vicki Pfau bd15285ea1 GB Audio: More accurate LFSR implementation for noise channel 2023-06-29 21:56:05 -07:00
Vicki Pfau 9873073400 Util: Add ctz32 function 2023-06-29 03:19:26 -07:00
Vicki Pfau 0ee3f3f16c GB Audio: Force update channels 1/2 if updating from a register write 2023-06-29 03:07:10 -07:00
Vicki Pfau 2a974a74e7 GB Audio: Update channels 1/2 irregularly if silent 2023-06-29 03:05:13 -07:00
Vicki Pfau c5a7b1a9b7 GB Audio: Fix channel 1 restarting if sweep applies after stop (fixes #2965) 2023-06-29 01:28:14 -07:00
Vicki Pfau 491879da95 ARM: Remove obsolete force-alignment in `bx pc` (fixes #2964) 2023-06-26 16:14:25 -07:00
Vicki Pfau 200e846b81 Core: Begin modernizing game override API (fixes #2963) 2023-06-26 04:43:26 -07:00
Vicki Pfau 4d94ab7a38 GB: Prevent incompatible BIOSes from being used on differing models 2023-06-26 04:41:07 -07:00
Vicki Pfau 4859e9b4c6 GB: Add missing CGB0 BIOS to model detection 2023-06-26 03:54:54 -07:00
Vicki Pfau 125db5bbe7 GBA Audio: Fix initial channel 3 wave RAM (fixes #2947) 2023-06-26 00:21:12 -07:00
Vicki Pfau 870c2f8bab Qt: Fix potential scripting context conflict (fixes #2948) 2023-06-20 04:34:27 -07:00
Vicki Pfau 76e5aa7148 Res: Add demo light sensor script 2023-06-20 04:18:46 -07:00
Vicki Pfau 1af9831fc9 Scripting: Add light sensor callback support 2023-06-20 03:41:52 -07:00
Vicki Pfau 1c41e1e051 GBA Audio: Fix sample timing drifting when changing sample interval 2023-06-19 22:32:27 -07:00
Vicki Pfau c358f22403 Scripting: Update docs style 2023-06-18 22:13:32 -07:00
Vicki Pfau 600b11b284 Scripting: Fix generated docs validity 2023-06-18 22:07:24 -07:00
Vicki Pfau 7be14fa7cc Scripting: Add rotation callback support 2023-06-18 22:06:54 -07:00
Vicki Pfau a82c390fe9 Scripting: Detach adapter peripherals when detaching adapter 2023-06-18 21:48:35 -07:00
Vicki Pfau 82f7e52fc6 Qt: Add exporting of SAV + RTC GBA saves from Save Converter to strip RTC data 2023-06-18 15:16:15 -07:00
Vicki Pfau 58da738647 Qt: Reduce minimum size of GB palette color pickers 2023-06-13 16:07:28 -07:00
Vicki Pfau 20ab4d27b1 Scripting: Expose rumble callback 2023-06-04 22:25:54 -07:00
Vicki Pfau 17a549baf2 Scripting: Fix build against Lua 5.2 2023-06-04 20:20:09 -07:00
Vicki Pfau e7bbc60e79 All: Fix several warnings 2023-06-01 00:12:32 -07:00
Vicki Pfau 294470d940 Core: Add getPeripheral function 2023-06-01 00:05:41 -07:00
Vicki Pfau 6561223536 Scripting: Add debugger integration 2023-05-29 00:53:53 -07:00
Vicki Pfau c1421afccb Debugger: Support calling into multiple debuggers per watchpoint 2023-05-29 00:53:53 -07:00
Vicki Pfau cbc8e4f11a Debugger: Fix writing to specific segment in command-line debugger 2023-05-29 00:53:53 -07:00
Vicki Pfau a161dfeb31 Debugger: Fill in segment in debugger entry 2023-05-29 00:53:53 -07:00
Vicki Pfau b94cd7f1dc Core: Remove duplicated include 2023-05-29 00:53:53 -07:00
Vicki Pfau 46c44120c9 3DS: Fix build 2023-05-29 00:53:53 -07:00
Vicki Pfau d432ec34e1 CMake: Fix build on clang 2023-05-29 00:37:25 -07:00
Vicki Pfau b80797a578 CMake: Add -Werror=incompatible-pointer-types 2023-05-29 00:23:38 -07:00
Vicki Pfau 4b7223c3ff Core: Only attempt to open symbol file if basedir exists 2023-05-29 00:23:38 -07:00
Vicki Pfau a7d63cde54 Core: Reattaching the same debugger is a no-op 2023-05-29 00:23:38 -07:00
May 196f507d3b
[UI bug] mGBA doesn't update savestate screenshots until you move the cursor over other savestates (#2929) 2023-05-23 15:16:46 -07:00
Vicki Pfau bb6613888a Util: Add THREAD_EXIT macro 2023-05-09 22:21:55 -07:00
Vicki Pfau 7d6a8a86a8 ARM Debugger: Fix unitialized stack variable 2023-05-09 22:13:09 -07:00
Vicki Pfau 213a534f4b GBA: Remove disused variable 2023-05-09 21:44:58 -07:00
Vicki Pfau 257122796c Debugger: Add debugger polling to avoid blocking 2023-05-09 21:43:19 -07:00
Vicki Pfau a00f2939ad Debugger: Allow attaching multiple debugger modules independently 2023-05-09 21:43:19 -07:00
Vicki Pfau 8efb3fb5df Debugger: Make created debug items, e.g. breakpoints, owned by modules 2023-05-09 21:17:46 -07:00
Vicki Pfau b21a6158f4 Debugger: Break out debugger functionality into modules 2023-05-09 21:17:46 -07:00
Vicki Pfau b1f991bf94 GB I/O: Read back proper SVBK value after writing 0 (fixes #2921) 2023-05-09 14:51:06 -07:00
Vicki Pfau 4f58f85572 Res: Use a slightly larger image for the logo-bounce demo 2023-05-08 05:59:36 -07:00
Vicki Pfau 36e62c085d GB SIO: Disabling SIO should cancel pending transfers (fixes #2537) 2023-05-08 04:42:52 -07:00
Vicki Pfau abf0848421 mGUI: Make "bios" name check case-insensitive 2023-05-08 00:41:58 -07:00
Vicki Pfau 0a36069315 Util: Fix handling of SocketPoll of n > 1 2023-05-07 20:30:05 -07:00
Vicki Pfau 00d1c0dc9d Qt: Fix saturateCast signed check 2023-05-03 06:55:17 -07:00
Vicki Pfau d8643870d6 Qt: A bit more Qt 6 porting progress 2023-05-03 02:21:55 -07:00
Vicki Pfau 2b8bb4baf7 Qt: Mark QtMultimedia as optional 2023-05-03 01:44:56 -07:00
Vicki Pfau 74a72a5c07 Scripting: Add missing docs to canvas 2023-05-03 01:38:11 -07:00
Vicki Pfau 608029e930 Qt: Promote -Wnarrowing to an error 2023-05-01 22:27:16 -07:00
Vicki Pfau ac9ffdd765 Qt: Add a saturateCast template 2023-05-01 22:22:51 -07:00
Vicki Pfau 201f0df4c2 Merge branch 'feature/canvas' 2023-05-01 21:40:57 -07:00
Vicki Pfau 2b3855f2e4 Res: Add a bouncing logo demo script 2023-05-01 21:38:30 -07:00
Vicki Pfau 55dd3e28db Scripting: Add canvas internal scaling factor 2023-05-01 21:38:30 -07:00
Vicki Pfau 428a29dae3 Qt: Expose DisplayQt as a VideoBackend 2023-05-01 21:38:30 -07:00
Vicki Pfau dda5634189 Scripting: Add canvas API 2023-05-01 21:38:30 -07:00
Vicki Pfau 18d0ad6ff9 Qt: Just don't tear down proxy ring FIFO until the object is destroyed 2023-05-01 21:38:30 -07:00
Vicki Pfau 399ace760c Qt: Hook up proxy backend to DisplayGL 2023-05-01 21:38:30 -07:00
Vicki Pfau dc6639b30b Video: Add backend call proxying for cross-thread interaction 2023-05-01 21:38:30 -07:00
Vicki Pfau 90420586e6 OpenGL: Fix GL1 overlay drawing 2023-05-01 21:38:30 -07:00
Vicki Pfau 2e5751ef6f OpenGL: Fix GLES2 overlay drawing 2023-05-01 21:38:30 -07:00
Vicki Pfau 0b79184bf3 Scripting: Add lambdas that bind an object method call 2023-05-01 21:38:30 -07:00
Vicki Pfau b8261a0c66 Scripting: Add lambdas with 0 arguments and 0 return values 2023-05-01 21:38:30 -07:00
Vicki Pfau 44ab21ab35 Scripting: Allow callbacks to access weakrefs 2023-05-01 20:44:23 -07:00
Martin Murtiono c9585b8abe
Qt: Make rewind speed adjustable (#2902) 2023-04-29 00:36:01 -07:00
sam-gupta-git a7ffcee399
Qt: Add shortcuts to increment fast forward speed (#2903)
Co-authored-by: Vicki Pfau <vi@endrift.com>
2023-04-29 00:33:16 -07:00
Vicki Pfau eb26b3c387 GBA BIOS: Fix clobbering registers with word-sized CpuSet 2023-04-28 22:48:01 -07:00
Vicki Pfau 65a0b63c82 GB Audio: Fix channels 1/2 staying muted if restarted after long silence 2023-04-28 22:48:01 -07:00
Vicki Pfau 75910bcdab Qt: Add QPA info to report view 2023-04-28 22:48:01 -07:00
Adam Higerd 6dbd977c73 Scripting: shim print()/warn() in Lua 2023-04-26 21:08:42 -07:00
Vicki Pfau ba6865b570 mGUI: Enable auto-softpatching (closes #2899) 2023-04-26 01:05:11 -07:00
Vicki Pfau 622c2491b9 Debugger: Reject traces with negative trace amounts (fixes #2900) 2023-04-26 00:48:12 -07:00
Vicki Pfau 3a59d9cb83 Res: Add script for doing fake analog input by PWM-ing the d-pad 2023-04-25 03:24:03 -07:00
Vicki Pfau 4fdebd5dd5 CHANGES: Update for 0.10.2 2023-04-23 22:17:05 -07:00
Vicki Pfau bd880335a8 Res: Update no-intro 2023-04-23 21:15:00 -07:00
Vicki Pfau ae75abb8fa Qt: Only disable swapInterval when fast-forwarding 2023-04-23 20:08:48 -07:00
Vicki Pfau 85aaa6c3c5 GB, GBA Audio: Clamp audio buffer size to 8192 2023-04-23 20:00:43 -07:00
Vicki Pfau 03dd7d70b4 Res: Update Patrons for April 2023-04-21 01:45:15 -07:00
Vicki Pfau 8739b22fbc Qt: Detect Wayland as EGL 2023-04-20 20:12:53 -07:00
Vicki Pfau 420da428bd Qt: Cleaner type punning 2023-04-20 20:11:43 -07:00
Vicki Pfau 5f6948351b Feature: Move video-backend.c to a sensible place 2023-04-19 05:35:36 -07:00
Vicki Pfau 727ba5b2f2 Qt: Rip out OpenGL proxy thread 2023-04-18 21:22:10 -07:00
Vicki Pfau 7337edb82a Qt: Manually toggle swap interval as needed 2023-04-18 21:22:10 -07:00
Vicki Pfau 133ed11cab GBA Video: Don't repeat yourself 2023-04-18 02:18:49 -07:00
Vicki Pfau 2c84689345 Util: Improve mImageLoadPNG memory cleanup 2023-04-17 22:31:03 -07:00
Vicki Pfau 80a8074608 GBA Video: Fix interpolation issues with OpenGL renderer 2023-04-17 22:23:54 -07:00
Vicki Pfau 9fa607b30f Util: More palette support 2023-04-17 04:37:36 -07:00
Vicki Pfau 618a51cabb Util: Preliminary palette support 2023-04-17 04:37:36 -07:00
Vicki Pfau f8b923015b Util: Add grayscale mImage loading 2023-04-17 04:37:36 -07:00
Vicki Pfau 65f04ee408 Util: PNGWrite*A is dead, long live PNGWrite* 2023-04-17 04:37:36 -07:00
David Spickett 225456a39c Debugger: Send flags information for cpsr register
There is a feature of target XML called flags. It allows
you to describe what a register contains.

https://sourceware.org/gdb/onlinedocs/gdb/Target-Description-Format.html

GDB has supported this for a long time and I recently added support
in LLDB:
e07a421dd5

This change adds this flags information for the cpsr register of the ARM7TDMI.
Based on the information in https://developer.arm.com/documentation/ddi0210/c/.

This is what it looks like when using GDB:
```
(gdb) info registers
r0             0x0                 0
<...>
cpsr           0x6000001f          [ Z C M=31 ]
```
And LLDB:
```
(lldb) register read cpsr
    cpsr = 0x6000001f
         = (N = 0, Z = 1, C = 1, V = 0, I = 0, F = 0, T = 0, M=31)
```

(the format is up to the debugger, lldb is a lot more verbose at the moment)

To enable this I have increased the GDB stub's outgoing buffer to 1400 bytes.
The target XML is just above 130 bytes with the flags added.
2023-04-15 01:30:35 -07:00
Vicki Pfau fd0f24d01e macOS: Declare camera usage in Info.plist 2023-04-14 18:26:38 -07:00
Vicki Pfau 5bf048e380 GB Serialize: Add missing Pocket Cam state to savestates 2023-04-13 02:56:12 -07:00
Vicki Pfau b876f13cb2 VFS: Actually fflush sync when doing writeback 2023-04-13 02:29:27 -07:00
Vicki Pfau edc0828437 CMake: Actually bother using -fwrapv 2023-04-13 02:16:39 -07:00
Vicki Pfau 77a4fbf439 Res: Code cleanup 2023-04-13 02:09:12 -07:00
Vicki Pfau f40222f0ee Core: Code cleanup 2023-04-13 02:09:12 -07:00
Vicki Pfau fca0505f38 3DS: Code cleanup 2023-04-12 22:45:22 -07:00
Vicki Pfau cd720fc6d8 .gitignore: Update 2023-04-12 22:31:07 -07:00
Vicki Pfau e8ef801a3e Vita: Work around broken mktime implementation in Vita SDK (fixes #2876) 2023-04-12 03:33:53 -07:00
Vicki Pfau 1b85fb3de5 Scripting: Fix early freeing of coerced list contents (fixes #2881) 2023-04-11 16:27:57 -07:00
Vicki Pfau 3f108aae75 Scripting: Re-fix some Lua string handling (fixes #2877) 2023-04-10 03:02:51 -07:00
Vicki Pfau dfb6055ae4 FFmpeg: Force lower sample rate for codecs not supporting high rates (fixes #2869) 2023-04-07 00:58:41 -07:00
Vicki Pfau b68c714455 FFmpeg: Fix buffer size rounding for audio encoding 2023-04-07 00:58:40 -07:00
Vicki Pfau a039e2fbef Core: Fix memory leaks in mCacheSet 2023-04-05 05:06:08 -07:00
Vicki Pfau 03d1ed7778 Qt: More coverity placating 2023-04-05 05:00:16 -07:00
Vicki Pfau a69f95bcb6 Util: Placate coverity a bit 2023-04-05 04:56:26 -07:00
Vicki Pfau efcdd29109 GBA e-Reader: Improve error handling in image loading 2023-04-05 04:54:51 -07:00
Vicki Pfau 8c55769afc Scripting: Fix some Lua string handling 2023-04-05 04:50:26 -07:00
Vicki Pfau 2f54d98ff6 Scripting: Export some system information 2023-04-04 02:20:06 -07:00
Vicki Pfau 9920a609e8 OpenGL: Make backends handle non-zero origin outer frame boundaries 2023-04-04 02:04:59 -07:00
Vicki Pfau 45762c8f9f Util: Partially evaluate preprocessor utility macros to help MSVC chew 2023-04-03 04:45:36 -07:00
Vicki Pfau 6867b556f3 Scripting: Export image compositing functions 2023-04-03 03:02:08 -07:00
Vicki Pfau c884560fdb Util: Add alpha-based mImage compositing functions 2023-04-03 03:00:23 -07:00
Vicki Pfau cfd5572fb6 Util: Add basic mImage blit with no blending 2023-04-03 01:56:22 -07:00
Vicki Pfau 5b18089e85 Util: Add mRectangleIntersection 2023-04-03 00:39:53 -07:00
Vicki Pfau 329159bddc Util: Refactor some things that will be used later 2023-04-02 23:23:54 -07:00
Vicki Pfau 2d07a269fc Core: Add screenshotToImage scripting binding 2023-04-02 03:40:39 -07:00
Vicki Pfau 2fca2f4395 Scripting: Export current image API 2023-04-02 03:39:14 -07:00
Vicki Pfau ed69b9f741 Scripting: Separate object freeing and deiniting 2023-04-02 03:39:14 -07:00
Vicki Pfau 42527b4c5e Util: More image creation functions 2023-04-02 03:39:14 -07:00
Vicki Pfau 285f22927b Util: Reject 0-width/height images 2023-04-01 22:42:44 -07:00
Vicki Pfau 6d719b529a Util: Add mImage saving 2023-03-31 02:42:01 -07:00
Vicki Pfau c8ce215d58 Util: Add image format conversion 2023-03-31 02:23:24 -07:00
Vicki Pfau d62688a0ef Util: Fix extracting top channel from 565 formats 2023-03-31 02:14:51 -07:00
Vicki Pfau bd3a3b8360 Util: Fix memory leak in mImageLoadVF 2023-03-31 01:57:08 -07:00
Vicki Pfau 1fd974272c Scripting: Make functions able to have default arguments 2023-03-31 00:32:02 -07:00
Vicki Pfau 64408b8fd1 Scripting: Tidy up public headers 2023-03-31 00:32:02 -07:00
Vicki Pfau e80b533549 Scripting: Add read-only struct members 2023-03-31 00:32:02 -07:00
Vicki Pfau 1306cfe15e Scripting: Add Lua-specific local `script` table for info about the script 2023-03-29 01:25:01 -07:00
Vicki Pfau 4543bcf9de Scripting: Make mScriptEngineExportDocNamespace take ownership 2023-03-29 01:24:10 -07:00
Vicki Pfau 832d0a7c05 Qt: Fix checked state of mute menu option at load (fixes #2701) 2023-03-27 01:09:51 -07:00
Vicki Pfau 7ef8cd961f Util: Fix non-USE_PNG build 2023-03-27 00:16:26 -07:00
Vicki Pfau 3c353b572b Qt: Swap P1 and other player's save if P1 loaded it first (closes #2750) 2023-03-26 23:58:44 -07:00
Vicki Pfau 2cba34d83a Util: Add image loading API 2023-03-26 17:49:15 -07:00
Vicki Pfau cdb0c4193b GBA Audio: Clear GB audio state when disabled 2023-03-25 04:27:54 -07:00
Vicki Pfau cb0ad844c1 Util: Strip loading 16-bit PNGs down to 8-bit 2023-03-25 01:46:36 -07:00
Vicki Pfau 542792215e GBA Overrides: Fix saving in PMD:RRT (JP) (fixes #2862) 2023-03-24 15:45:21 -07:00
Vicki Pfau a064306916 GB MBC: Fix crash with NT Old 2 if rumble callback isn't installed 2023-03-22 01:47:30 -07:00
Vicki Pfau e79ae2860b Util: Start mImage/mColor APIs and tests 2023-03-22 01:42:27 -07:00
Vicki Pfau 646a0e9b33 GBA Memory: Clean up stall function slightly 2023-03-21 21:59:49 -07:00
Vicki Pfau 603c1800d5 Util: Move some image stuff around 2023-03-21 21:59:49 -07:00
Vicki Pfau e3fbb55854 Scripting: Return proper callback ID from socket.add 2023-03-19 04:59:00 -07:00
Vicki Pfau ea5db5f72d Scripting: Fix scalar hashing on different union layouts, e.g. big endian 2023-03-19 03:47:51 -07:00
Vicki Pfau dfe9177374 Util: Fix test build 2023-03-19 03:29:00 -07:00
Vicki Pfau 9a4cf28776 Util: Namespace geometry structs to avoid conflicts 2023-03-19 03:03:55 -07:00
Vicki Pfau 96d0193136 Merge branch 'feature/canvas' 2023-03-19 02:25:31 -07:00
Vicki Pfau e3e8296105 OpenGL: Separate sizes of image and drawn layer for image 2023-03-19 02:23:37 -07:00
Vicki Pfau ce0b1507c3 OpenGL: Fix layers not recentering properly when scale is reduced 2023-03-19 01:24:33 -07:00
Vicki Pfau eb7b90e5d9 Qt: Fix OSD on modern macOS (fixes #2736) 2023-03-17 02:29:47 -07:00
Vicki Pfau fc35395ab8 Core: Handle relative paths for saves, screenshots, etc consistently (fixes #2826) 2023-03-16 23:37:54 -07:00
Vicki Pfau cd0b5193cb Core: An empty config string is a null config value 2023-03-15 22:44:52 -07:00
Vicki Pfau ea3e6d6b54 Core: Fixx M_*8 macros 2023-03-15 20:53:01 -07:00
Vicki Pfau 434789c6d1 Qt: Placate Coverity a bit 2023-03-14 01:27:19 -07:00
Vicki Pfau fd0deaaecc GBA Memory: Play slightly nicer with CSE 2023-03-14 01:11:11 -07:00
Vicki Pfau fe8b436b41 GDB: Ugh 2023-03-06 14:57:05 -08:00
Vicki Pfau 7386e60ac0 GDB: Enable NODELAY on GDB stub connections 2023-03-06 14:51:22 -08:00
Vicki Pfau 5265573c0c Qt: Fix buffer termination issue 2023-03-06 00:08:41 -08:00
Vicki Pfau a7c232b284 Qt: Fix black screen when starting with a game (fixes #2781) 2023-03-05 23:56:16 -08:00
Vicki Pfau 89f8873df3 GBA Saveata: Fix fumbled check 2023-03-05 14:21:47 -08:00
Vicki Pfau 44fb887737 SDL: Border rendering 2023-03-03 19:25:14 -08:00
Vicki Pfau 48c9261b05 SDL: Refactor use of VideoBackend to slim down GL backends 2023-03-03 19:25:14 -08:00
Vicki Pfau 08f360af90 Qt: Ask the display, not the core, what size it should be 2023-03-03 19:25:14 -08:00
Vicki Pfau c7e4db58e3 OpenGL: Add basic border rendering to modern GL driver 2023-03-03 19:25:14 -08:00
Vicki Pfau 09a53abe99 OpenGL: Add basic border rendering to GL 1.x driver 2023-03-03 19:25:14 -08:00
Vicki Pfau efbc4a49ce Util: Add some basic geometry math 2023-03-03 19:25:14 -08:00
Vicki Pfau bd6edce5cf Qt: Start adding background/bezel image support 2023-03-03 19:25:14 -08:00
Vicki Pfau d6c3b012d1 Video: Start revising VideoBackend API 2023-03-03 19:25:14 -08:00
Vicki Pfau dd531637c2 Core: Revise screen size/info API 2023-03-03 19:25:14 -08:00
Vicki Pfau 59ebf1c12d GB Video: Implement DMG-style sprite ordering 2023-03-03 01:00:26 -08:00
Vicki Pfau 30fc000734 Scripting: Fix potential crash if a bucket can't be opened 2023-03-02 21:30:01 -08:00
Vicki Pfau ceb66b133f VFS: Improve zip invariant handling 2023-03-02 20:38:59 -08:00
Vicki Pfau 077aa04f48 Qt: Fix potential directory handle leak 2023-03-02 20:31:11 -08:00
Vicki Pfau e06fa02d14 Util: Fix potential socket leak 2023-03-02 20:28:48 -08:00
Vicki Pfau 001135ef91 Qt: Better fps non-zero division check 2023-03-01 23:11:23 -08:00
Vicki Pfau f45b4e3ef0 Qt: Initialize Shortcut::m_direction 2023-03-01 23:05:40 -08:00
Vicki Pfau 54b9fbd881 GBA SIO: Who wrote this code? Oh, me 2023-03-01 22:52:50 -08:00
Vicki Pfau 222d48efe7 Qt: Initialize log-to members 2023-03-01 22:52:05 -08:00
Vicki Pfau 7d014f1ae6 Core: Negative log types are invalid 2023-03-01 22:51:48 -08:00
Vicki Pfau cd4dbaeb60 Feature: Initialize z_stream more cleanly 2023-03-01 21:02:49 -08:00
Vicki Pfau a2072b67ba Core: Fix GBK string memory handling in .cht loading 2023-03-01 20:32:34 -08:00
Vicki Pfau bc048094b1 Feature: Fix No-Intro cleanup on initial errors 2023-03-01 20:27:51 -08:00
Vicki Pfau bba57ce530 All: Fix handling of strncat bounds 2023-03-01 20:16:40 -08:00
Vicki Pfau 064d6ce183 GB: Fix potential double-free of non-pristine ROM memory 2023-03-01 20:11:26 -08:00
Vicki Pfau e3983d3330 Core: Add missing va_end 2023-03-01 16:16:51 -08:00
Vicki Pfau 622a6e9e2d GB Memory: Fix potential crash when directly accessing invalid SRAM 2023-03-01 16:13:35 -08:00
Vicki Pfau e504ac3665 Qt: Fix crash if loading a shader fails 2023-03-01 16:10:43 -08:00
Vicki Pfau 7ffa0ff280 OpenGL: Fix memory leak in failure path 2023-03-01 16:08:56 -08:00
Vicki Pfau 2cce155173 GBA Savedata: Fix sanity check in Load 2023-03-01 16:02:28 -08:00
Vicki Pfau ee21eed29c Qt: Fix full-buffer rewind 2023-03-01 15:59:46 -08:00
Vicki Pfau 10a3165642 Qt: auto -> auto& cleanup 2023-03-01 15:52:34 -08:00
Vicki Pfau 5f3ee83bcc CMake: Fix configure issues on clang 2023-02-28 18:20:16 -08:00
Vicki Pfau 5b72231166 GBA Overrides: Mark ASL* as no save (fixes #2843) 2023-02-28 18:11:21 -08:00
Vicki Pfau a64dcf8e43 All: Minor warning touching up 2023-02-24 22:35:52 -08:00
Vicki Pfau 9b2ba64bc6 Windows: Fix build clang-cl 2023-02-24 22:06:55 -08:00
Michael Manganiello 682471fa1e Libretro: Fix undeclared constant
The `SIZE_CART_FLASH1M` constant was renamed to `GBA_SIZE_FLASH1M` in
8545271e9e

These leftovers make the Libretro build fail, when running:
```
cmake -DBUILD_LIBRETRO=ON .. && make
```
2023-02-24 04:24:54 -08:00
Vicki Pfau 47941aa0b0 Qt: Automatically change video file extension as appropriate 2023-02-24 03:51:07 -08:00
Vicki Pfau e07684e3ac CHANGES: Update 2023-02-22 20:23:44 -08:00
Vicki Pfau 1ca6f7e093 Scripting: Add WSAEWOULDBLOCK to error translation table 2023-02-22 19:52:33 -08:00
Vicki Pfau ea345ca815 Res: Add SGB platform icons 2023-02-15 16:36:00 -08:00
Vicki Pfau 6f14732e0d Qt: Fix loading a script leaving sync disabled 2023-02-15 02:29:57 -08:00
Vicki Pfau 0b17a40d6b Qt: Fix a handful of edge cases with graphics viewers (fixes #2827) 2023-02-14 23:13:04 -08:00
Adam Higerd 033efff86e hook frame callback in socket connect 2023-02-12 13:28:34 -08:00
Vicki Pfau e10f5997be Res: Fix name spelling 2023-02-12 12:44:14 -08:00
Vicki Pfau b1faf67438 Scripting: Bucket names can't start with . 2023-02-12 01:46:05 -08:00
Vicki Pfau 3139ac7d58 Res: Port OmniScale from SameBoy 2023-02-11 22:07:41 -08:00
Vicki Pfau 422439f0a6 OpenGL: Export output buffer size to shader 2023-02-11 22:04:00 -08:00
Vicki Pfau 7b979a679e Res: Port hq2x from SameBoy 2023-02-11 22:04:00 -08:00
Vicki Pfau 30fa0a3843 OpenGL: Fix null calloc/memcpy 2023-02-11 21:08:40 -08:00
Vicki Pfau 1722fe4530 Qt: Fix modifier key names in shortcut editor (fixes #2817) 2023-02-09 19:59:55 -08:00
Vicki Pfau 1acaa45ea5 README: Minor updates 2023-02-09 00:25:50 -08:00
Vicki Pfau 3bacc33ebe Qt: Disable attempted linking betwen incompatible platforms (fixes #2702) 2023-02-09 00:17:55 -08:00
Vicki Pfau cade5eebde Qt: Properly cap number of attached players by platform (fixes #2807) 2023-02-09 00:08:45 -08:00
Vicki Pfau c709aee0f3 Qt: Getting tired of pushing commits to fix the build without json-c 2023-02-08 21:15:51 -08:00
Vicki Pfau 3cbfaa010d Scripting: Add method to enable/disable storage bucket autoflushing 2023-02-08 20:37:19 -08:00
Vicki Pfau 466639ee31 Qt: Fix build without json-c 2023-02-08 19:17:28 -08:00
Vicki Pfau 123532ed6e Scripting: Add `callbacks:oneshot` for single-call callbacks 2023-02-08 19:14:36 -08:00
Vicki Pfau ff449dc66c Scripting: Fix non-json-c build 2023-02-08 17:57:23 -08:00
Vicki Pfau 1268aaee1c Scripting: Fix tests 2023-02-08 02:45:54 -08:00
Vicki Pfau 0cc66867ca CHANGES: Add storage API mention 2023-02-08 02:38:37 -08:00
Vicki Pfau e3e0957f14 Scripting: A slew of buildfixes 2023-02-08 02:37:35 -08:00
Vicki Pfau 292ae8dcf8 Merge branch 'feature/scripting-storage' 2023-02-08 01:28:59 -08:00
Vicki Pfau dca1e49c9f Scripting: Add documentation for storage and buckets 2023-02-08 01:27:33 -08:00
Vicki Pfau f3d49527b7 Qt: Add scripting storage integration 2023-02-08 01:27:33 -08:00
Vicki Pfau 63d96ab712 Scripting: Add flushing/reloading 2023-02-08 01:27:33 -08:00
Vicki Pfau 91474e179c Scripting: More storage tests 2023-02-08 01:27:33 -08:00
Vicki Pfau 8b65f3772c Scripting: Initial deserialization work 2023-02-08 01:27:33 -08:00
Vicki Pfau 0c6b443065 Scripting: Initial serialization work 2023-02-08 01:27:33 -08:00
Vicki Pfau c1e1843e5e CMake: Add json-c optional dependency 2023-02-08 01:27:33 -08:00
Vicki Pfau 00a34e0d07 Scripting: Add skeleton of storage API 2023-02-08 01:27:33 -08:00
Vicki Pfau aefcd174a8 Scripting: Warning cleanup 2023-02-08 01:25:34 -08:00
Vicki Pfau 045a2c96dc Scripting: Fix passing mSTList/Table from Lua back into the runtime 2023-02-08 01:25:17 -08:00
Vicki Pfau 282a033df2 Scripting: Clean up refcounting 2023-02-08 01:23:51 -08:00
Vicki Pfau 5c0bd1b245 Scripting: Add faux "NUL" type for type matching 2023-02-04 23:56:56 -08:00
Vicki Pfau 004f68496f Scripting: Add type-overloadable setters 2023-02-04 01:15:51 -08:00
Vicki Pfau f74db92ccd Scripting: Add wrapper drill-down casts 2023-02-04 01:15:51 -08:00
Vicki Pfau bfab9dc9f2 Scripting: Specific wrapper types shouldn't compare equal with wrapped type 2023-02-04 01:15:51 -08:00
Vicki Pfau 39e3b5181a Scripting: Add WTABLE 2023-02-04 01:15:51 -08:00
Vicki Pfau c2bcf0df07 Scripting: Fix object get thunking 2023-02-04 01:15:51 -08:00
Vicki Pfau f2e9ea6a6b Scripting: Remove unused type macros 2023-02-04 01:15:51 -08:00
Vicki Pfau 0193bc3a83 Scripting: Fix table unwrapping 2023-02-04 01:15:51 -08:00
Vicki Pfau 5164b888d8 Scripting: Allow Lua to pass nested tables to the scripting subsystem 2023-02-04 01:15:51 -08:00
Vicki Pfau f37d068733 GBA SIO: Minor code modernization 2023-02-03 03:55:04 -08:00
Vicki Pfau 527313bafc GBA SIO: Normal mode transfers with no clock should not finish (fixes #2811) 2023-02-03 03:55:04 -08:00
Vicki Pfau f046596ca7 GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes #2810) 2023-02-03 03:55:04 -08:00
Vicki Pfau 4e85de3a42 Util: Fix some macro best practices 2023-02-03 01:54:30 -08:00
Vicki Pfau e470795258 GBA Timers: Cascading timers don't tick when disabled (fixes #2812) 2023-02-03 01:43:34 -08:00
Vicki Pfau e95bd06321 Scripting: Clear down keys when the window is deactivated 2023-02-02 21:34:14 -08:00
Vicki Pfau f27ce8d82e Scripting: Add input:activeKeys to get currently active keyboard keys 2023-01-31 21:34:19 -08:00
Vicki Pfau 4afacfa067 Qt: Link QJpegPlugin on static Windows 2023-01-31 21:12:29 -08:00
Vicki Pfau 86327de14f Qt: Add filter for selecting forwarder images 2023-01-31 21:12:29 -08:00
Vicki Pfau bef88a4e13 Qt: Hide ? button on forwarder view 2023-01-31 20:58:38 -08:00
Vicki Pfau e445baaf14 Script: Fix table string key UAF 2023-01-31 17:22:45 -08:00
Vicki Pfau 5a5adc1b15 Script: Fix leaking tables passed from Lua 2023-01-31 17:22:45 -08:00
Vicki Pfau 92d86af955 GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes #2805) 2023-01-30 20:48:39 -08:00
Vicki Pfau d08b307be0 CHANGES: Add input API 2023-01-30 00:23:01 -08:00
Vicki Pfau d1f589e002 GBA Audio: Fix improperly deserializing GB audio registers (fixes #2793) 2023-01-30 00:21:28 -08:00
Vicki Pfau a67b0c0fb2 Qt: Update translations 2023-01-29 01:46:10 -08:00
Vicki Pfau 5b170b003a Qt: Stop eating boolean action key events (fixes #2636) 2023-01-29 01:44:14 -08:00
Vicki Pfau d07dbdc0dd Qt: Unbind apostrophe from GameShark button by default 2023-01-29 01:36:46 -08:00
Vicki Pfau a2d12548f5 Qt: Update translations 2023-01-29 00:20:18 -08:00
Alexander Hedberg 9a50b6dcd0 Qt: Added translation (Swedish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/sv/
2023-01-29 00:16:01 -08:00
nivea 8e5f5ba8ac Qt: Update translation (Japanese)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ja/
2023-01-29 00:16:01 -08:00
Momo cao c15f80a855 Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2023-01-29 00:16:01 -08:00
Hoseok Seo 60fdbfd9ac Qt: Update translation (Korean)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
2023-01-29 00:16:01 -08:00
shinyoyo 88c4c7857c Qt: Update translation (Chinese (Simplified))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2023-01-29 00:16:01 -08:00
Luna Lyday 7cf3535e03 Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2023-01-29 00:16:01 -08:00
Alex 253dca5840 Qt: Update translation (Russian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2023-01-29 00:16:01 -08:00
Lothar Serra Mari a90c09882e Qt: Update translation (German)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
2023-01-29 00:16:01 -08:00
Felipe 92b7b347bf Qt: Update translation (Portuguese (Brazil))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2023-01-29 00:16:01 -08:00
Vicki Pfau 38fa501a08 Qt: Fix controller hotplugging 2023-01-28 23:42:56 -08:00
Vicki Pfau ff6c74397a CHANGES: Wrong bug report 2023-01-28 22:40:57 -08:00
Vicki Pfau c84c31bdc0 Core: Allow sending thread requests to a crashed core (fixes #2785) 2023-01-28 22:39:00 -08:00
Vicki Pfau 0701fb1997 Qt: It's 2023 now 2023-01-28 22:10:00 -08:00
Vicki Pfau 1a29a92c3a Switch: Improve screenshot texture handling 2023-01-28 20:31:46 -08:00
Vicki Pfau 70e31df683 mGUI: Improve savestate screenshot handling 2023-01-28 20:29:06 -08:00
Vicki Pfau 7bd0e91735 Qt: Fix savestate preview sizes with different scales (fixes #2560) 2023-01-28 17:49:00 -08:00
Vicki Pfau a4d1268db4 Core: Export screenshot dimensions in savedata extdata 2023-01-28 17:49:00 -08:00
Vicki Pfau 7ee2be6c96 Scripting: Export Input API docs 2023-01-27 21:22:33 -08:00
Vicki Pfau c0d4e2c347 Scripting: Expose gamepad name to scripts 2023-01-27 21:20:46 -08:00
Vicki Pfau a62a3eb811 Res: Add example gamepad demo 2023-01-27 21:20:46 -08:00
Vicki Pfau 0dd7cfd44a Qt: Hook up gamepad to scripting 2023-01-27 21:20:46 -08:00
Vicki Pfau dfe2f62f16 Scripting: Basic gamepad support 2023-01-27 21:20:46 -08:00
Vicki Pfau a154690694 Scripting: Migrate some stuff from docgen into libmgba 2023-01-27 21:08:43 -08:00
Vicki Pfau 697e80a5a1 Qt: Start hooking up input events into scripting 2023-01-27 21:08:43 -08:00
Vicki Pfau 47bf00da5e Scripting: Implement input sequence numbers 2023-01-27 21:08:43 -08:00
Vicki Pfau e5ed2b4119 Scripting: Add base input, supports key events 2023-01-27 21:08:43 -08:00
Vicki Pfau fcfab847fc Scripting: Add callback arguments 2023-01-27 21:08:43 -08:00
Vicki Pfau fc2b94f9f7 Scripting: Allow basic pointer following 2023-01-27 21:07:57 -08:00
Vicki Pfau 6d8060034f Qt: Disable sync while running scripts from main thread (fixes #2738) 2023-01-27 19:41:57 -08:00
Vicki Pfau dbffb46c4e Wii: Fix build 2023-01-26 21:49:48 -08:00
Vicki Pfau 6bea763b23 Scripting: Allow struct access to inline strings 2023-01-26 21:39:19 -08:00
Vicki Pfau 8545271e9e GBA Memory: Modernize constant names 2023-01-26 18:59:35 -08:00
Vicki Pfau 6b63e42146 Qt: These return multiple keys 2023-01-26 16:18:10 -08:00
Vicki Pfau 0cfec878c8 Qt: mInputMapHat returns a mask, not a single key (fixes #2800) 2023-01-26 15:32:00 -08:00
Vicki Pfau 1dedd1d7a7 Qt: Include wayland QPA in AppImage (fixes #2796) 2023-01-26 07:17:53 -08:00
Vicki Pfau 8e671b0830 Qt: Fix crash when attempting to use OpenGL 2.1 to 3.1 (fixes #2794) 2023-01-26 05:57:08 -08:00
Vicki Pfau c4157e59fc Qt: Fix gamepad driver lookup 2023-01-26 04:05:23 -08:00
Vicki Pfau b5f600c0c5 Scripting: Allow weakrefs to be marked for auto-collection 2023-01-26 03:32:28 -08:00
Vicki Pfau 58089fb334 Scripting: Allow mScriptList members, better testing 2023-01-26 03:30:36 -08:00
Vicki Pfau 5216383c28 Scripting: Fix scripting console 2023-01-25 21:52:23 -08:00
Vicki Pfau 17ef84804b Scripting: Lua nullity fixes 2023-01-25 04:48:57 -08:00
Vicki Pfau dfd772d2ca Scripting: Add missing type export 2023-01-25 04:19:12 -08:00
Vicki Pfau e2668c25c5 Qt: Set default gamepad and sensor drivers 2023-01-25 04:17:38 -08:00
Vicki Pfau 0da94526bc Scripting: Add some nullity tests 2023-01-25 04:15:47 -08:00
Vicki Pfau 53abcfd28e Scripting: Fix mSCRIPT_TYPE_MS_PCS macro 2023-01-23 21:03:59 -08:00
Vicki Pfau 74e7a44da3 Qt: More API cleanup 2023-01-22 20:13:21 -08:00
Vicki Pfau 2df70ee45e Util: Add debug bounds checking to vector 2023-01-22 19:44:57 -08:00
Vicki Pfau 62c84ab815 Util: Add some base vector implementations 2023-01-22 19:44:57 -08:00
Vicki Pfau 7824a317ae Merge branch 'revamp/qt-input' 2023-01-22 19:38:31 -08:00
Vicki Pfau 430ffc18e2 Qt: Further input cleanup 2023-01-22 19:38:01 -08:00
Vicki Pfau 0c77227e06 Qt: Finish input driver separation 2023-01-22 19:38:01 -08:00
Vicki Pfau 547c9269fa Qt: Start shaking out GBAKey 2023-01-22 19:38:01 -08:00
Vicki Pfau 8ec856e10c Qt: Move Gamepad events into input/ 2023-01-22 19:38:01 -08:00
Vicki Pfau 4580e8d2e9 Qt: Start adding better input abstractions 2023-01-22 19:38:01 -08:00
Vicki Pfau be3022156f Qt: Start splitting up InputController 2023-01-22 19:38:01 -08:00
Vicki Pfau 1584023f34 Core: Round out input API pre-revamp 2023-01-22 19:38:01 -08:00
Vicki Pfau 8c5940e540 Qt: Add ig4icd32 crash to OpenGL bug database (see #2136) 2023-01-22 17:43:09 -08:00
Vicki Pfau 0d0e92ce59 GBA Memory: Make VRAM access stalls only apply to BG RAM 2023-01-16 00:09:35 -08:00
Vicki Pfau 941ad50723 Qt: Attempt to shorten Game Boy settings pane 2023-01-14 15:51:42 -08:00
TheMechasaur fff9d1264e Correct year of release date of 0.10.1 to 2023 (#2783) 2023-01-12 15:11:57 -08:00
Vicki Pfau 5bb12f9238 CHANGES: Update for 0.10.1 2023-01-12 15:09:10 -08:00
Vicki Pfau 9df06383b5 Qt: Work around Mesa issue 8035 2023-01-09 00:11:12 -08:00
Vicki Pfau 70e6470e8b Qt: Fix minor leak 2023-01-08 23:59:36 -08:00
Vicki Pfau fa3b0d0875 Scripting: Fix internal socket header 2023-01-08 22:59:15 -08:00
Vicki Pfau 068e1fb612 GB Audio: Fix regression in channel updating with NR5x (fixes #2775) 2023-01-06 14:26:14 -08:00
Vicki Pfau 819d19dddc Qt: Redo stable branch detection heuristic 2022-12-31 18:15:55 -08:00
Vicki Pfau 9f8679ffa6 Qt: Fix initializing update revision info 2022-12-31 17:54:51 -08:00
Vicki Pfau bf3a2071b7 All: Add more build products to the gitignore 2022-12-31 01:21:03 -08:00
Vicki Pfau 1c370f6ebe Scripting: Refactor out some testing code 2022-12-31 01:19:58 -08:00
Vicki Pfau 0a4cafcd57 GB BIOS: Include timing in degenerate ArcTan2 cases (fixes #2763) 2022-12-29 20:40:56 -08:00
Vicki Pfau 520609d12a Qt: Fix indentation 2022-12-29 20:40:56 -08:00
Vicki Pfau 61950a52dc GBA Cheats: Clean up redundant variables 2022-12-29 20:40:56 -08:00
momocaoo f3b6593ab6
Qt: Fix typo in Forwarder ui (#2764) 2022-12-25 18:13:37 -08:00
Vicki Pfau 1b9671bf21 GBA Cheats: Fix issues detecting unencrypted cheats (fixes #2724) 2022-12-22 16:02:12 -08:00
Vicki Pfau 86bcbf1716 Qt: Start OpenGL bug list with glFlush cross-thread on Windows (fixes #2761) 2022-12-21 22:13:23 -08:00
Vicki Pfau 455e34edcf Qt: glFlush is (thankfully) sufficient here 2022-12-18 21:48:08 -08:00
Vicki Pfau 90893dff60 GBA Video: Fix #2489 in OpenGL renderer 2022-12-18 17:01:01 -08:00
Vicki Pfau d2949383d5 GBA: Clean up BIOS skip detection; add second multiboot entry 2022-12-18 00:04:27 -08:00
Vicki Pfau 83578d915b Qt: Refactor and fix dequeueAll so keep mode keeps last draw tex too 2022-12-17 00:22:20 -08:00
CasualPokePlayer 0ac446beda
Check gba->mbVf for force skipping the BIOS (#2754) 2022-12-16 22:12:24 -08:00
Vicki Pfau ab82b2c856 GB IO: Fix BANK not getting initialized after recent change 2022-12-13 15:18:21 -08:00
Vicki Pfau b3f9d9b186 Qt: Fix loading/unloading shaders 2022-12-12 14:31:41 -08:00
Vicki Pfau 4626cac9e8 Qt: Tentative fix for renderer switching crash 2022-12-12 04:00:40 -08:00
Vicki Pfau 1127cf8b84 Qt: Fix proxy context creation on Nvidia (fixes #2746) 2022-12-12 03:12:06 -08:00
Vicki Pfau 27076733d4 GB Audio: Fix updating channels other than 2 when writing NR5x 2022-12-11 19:11:21 -08:00
Vicki Pfau 50fd46506c GB Audio: Fix up boot sequence 2022-12-11 19:11:21 -08:00
Vicki Pfau 4f70b313fc GB Memory: Actually, HDMAs should start when LCD is off (fixes #2662) 2022-12-08 01:20:51 -08:00
Vicki Pfau dc5f6e37e1 GB Audio: Initialize ch3 window value 2022-12-07 20:56:16 -08:00
Vicki Pfau b220c7a68b Qt: Attempt to fix 5.8 build 2022-12-07 02:35:08 -08:00
Vicki Pfau e9ec009836 GB Audio: Fix channel 3 volume being changed between samples (fixes #1896) 2022-12-07 01:21:21 -08:00
Vicki Pfau 3385f02b51 GBA DMA: Minor optimization of warm function 2022-11-30 17:44:53 -08:00
Vicki Pfau 2ba42761b8 Libretro: Add back missing audio overkill (fixes #2734) 2022-11-29 02:20:24 -08:00
Vicki Pfau 083585b565 GB Audio: Fix channels 1/2 not playing when resetting volume (fixes #2614) 2022-11-28 22:37:31 -08:00
Vicki Pfau 4fefa0c51a Qt: Fix build on older Qt 2022-11-28 14:25:18 -08:00
Vicki Pfau 1b684ae2e3 Qt: Improve handling of multiplayer syncing (fixes #2720) 2022-11-28 01:00:59 -08:00
Vicki Pfau 6f08b740f9 GB SIO: Further fix bidirectional transfer starting 2022-11-28 00:59:36 -08:00
Vicki Pfau 9b2d4bc68e Qt: Don't re-enable sync if GBA link modes aren't the same (fixes #2044) 2022-11-27 20:08:20 -08:00
Vicki Pfau c511d53d59 GBA Video: Disable BG target 1 blending when OBJ blending (fixes #2722) 2022-11-25 21:37:12 -08:00
Vicki Pfau 6aa558c4a0 Qt: Move OpenGL proxy onto its own thread (fixes #2493) 2022-11-20 20:52:42 -08:00
Vicki Pfau 0271f12280 CHANGES: Spill chicken 2022-11-12 00:45:25 -08:00
Vicki Pfau 085ce4890d GBA: Fix resetting key IRQ state (fixes #2716) 2022-11-12 00:35:34 -08:00
Vicki Pfau 2ea0114ae2 GBA Video: Ignore disabled backgrounds as OBJ blend target (fixes #2489) 2022-11-07 20:43:22 -08:00
Vicki Pfau c4384d1d1e Qt: Add forwarder building from a specific base file 2022-11-06 22:26:53 -08:00
Vicki Pfau 8770200874 Qt: Refactor out common generator code 2022-11-06 22:26:53 -08:00
Vicki Pfau f847502f4a Qt: Use a UA string for all HTTP requests 2022-11-06 22:26:53 -08:00
Vicki Pfau 91e62b8e72 Qt: Use filters for the forwarder file types 2022-11-06 22:26:53 -08:00
Vicki Pfau b48c7a1887 Qt: Add a progress bar for the forwarder builder downloads 2022-11-06 22:26:53 -08:00
Luna Mittelbach 694b80d289
GBA: Verify ELF entrypoint against ROM header (#2714) 2022-11-05 01:44:29 -07:00
Vicki Pfau b8c7196dd9 Qt: Cleanup 2022-11-01 03:21:15 -07:00
Vicki Pfau 7f30bdc850 Qt: Initial support for forwarder-kit 2022-11-01 03:21:05 -07:00
Vicki Pfau 6bdb3470e7 Qt: Fine, whatever, build fixed more 2022-10-31 20:45:46 -07:00
Vicki Pfau 25bb7a9192 Qt: Fix build 2022-10-31 20:41:46 -07:00
Vicki Pfau 658f4e1a34 Qt: First pass at 3DS forwarder generator 2022-10-31 19:51:17 -07:00
Vicki Pfau 2b7f5ba4d0 Qt: I wrote a function for this... 2022-10-31 19:51:17 -07:00
Vicki Pfau 3f24047abb Qt: Split out some helper functions 2022-10-31 19:51:17 -07:00
Vicki Pfau 9ed00c95b6 Qt: Add cache dir call, for later expansion 2022-10-31 19:45:38 -07:00
Vicki Pfau 472660a5d3 Qt: Pay down some VFile technical debt 2022-10-30 02:48:39 -07:00
Vicki Pfau 2a5417e3ce Qt: Fix build on Qt 5.9 - 5.14 2022-10-29 02:02:30 -07:00
Vicki Pfau 56c9065f70 Qt: Add forwarder UI and Vita backend (closes #2267) 2022-10-29 01:40:52 -07:00
Vicki Pfau fec87062ca CMake: Add another K&R warning to the -Werror list 2022-10-29 01:39:13 -07:00
Vicki Pfau dd13ceb42d VFS: Fix minizip write returning 0 on success instead of size 2022-10-29 01:38:34 -07:00
Vicki Pfau 3b558a9509 Qt: Move ROM filter function to utils 2022-10-29 01:37:52 -07:00
Vicki Pfau c49f09dabc Util: Add PS Vita SFO generator 2022-10-28 00:04:26 -07:00
Vicki Pfau 15e8b20537 Updater: Fix mUpdaterGetUpdateForChannel 2022-10-27 02:24:39 -07:00
Vicki Pfau fcf764e3c6 mGUI: Refactoring out common code 2022-10-22 23:41:24 -07:00
Vicki Pfau 85e66155f2 Vita: Allow loading ROM out of app0 if included 2022-10-22 23:34:28 -07:00
Vicki Pfau 73afc7d7f7 3DS: Allow loading ROM out of romfs if included 2022-10-22 19:33:34 -07:00
Vicki Pfau 981d01134b macOS: Fix modern build with libepoxy (fixes #2700) 2022-10-20 20:11:19 -07:00
Vicki Pfau 75da9f0a94 Qt: Fix Discord Rich Presence if the game title is excessively, extremely, overly, ridiculously, very very long (fixes #2697) 2022-10-19 04:33:03 -07:00
Vicki Pfau 879e7561cc Qt: Keep track of current pslette preset name (fixes #2680) 2022-10-19 04:15:41 -07:00
Vicki Pfau 75155738a5 GB Serialize: Don't write BGP/OBP when loading SCGB state (fixes #2694) 2022-10-18 01:39:15 -07:00
Vicki Pfau ad2a7a748a GB MBC: Add GGB-81 support 2022-10-17 01:31:04 -07:00
Vicki Pfau a305882dba GB MBC: Improve Li Cheng heuristic slightly 2022-10-17 00:59:59 -07:00
Vicki Pfau 153efa253c Qt: Fix e-Reader scanning function reentry (fixes #2693) 2022-10-16 22:14:46 -07:00
Vicki Pfau 2cea9e6d70 README: Add MBC30 to the supported mappers list (closes #2686) 2022-10-16 03:29:36 -07:00
Vicki Pfau 1cc32c0785 GB MBC: Split out MBC implementations into files 2022-10-16 03:20:34 -07:00
Vicki Pfau ca0baae821 Debugger: Add more watch-range aliases 2022-10-16 02:13:09 -07:00
bigfarts 42f7876731 Add range watchpoints.
These are accessible via the following new CLI debugger commands:

 - rw: watchr minAddr maxAddr [cond]
 - r: watchr/r minAddr maxAddr [cond]
 - w: watchr/w minAddr maxAddr [cond]
 - c: watchr/c minAddr maxAddr [cond]

This also makes all watchpoints range watchpoints under the hood.

Preliminary benchmark results:

Time taken to run 10000 frames of Megaman Battle Network 1 (U) with a write watchpoint set at 0x02000000 in milliseconds, 10 runs each:

control (no watchpoint):
[4184, 4185, 4197, 4207, 4220, 4178, 4304, 4226, 4234, 4292]
mean = 4223, stdev = 43.95

old (single address watchpoint):
[4743, 4685, 4679, 4670, 4782, 4704, 4698, 4875, 4746, 4718]
mean = 4730, stdev = 61.67

new (range watchpoint):
[4683, 4691, 4693, 4706, 4782, 4674, 4746, 4768, 4770, 4776]
mean = 4728, stdev = 43.36
2022-10-16 02:10:38 -07:00
Vicki Pfau 5415cd72e2 Qt: Update mapper list 2022-10-16 01:30:24 -07:00
Vicki Pfau ffda3e1c9b GB MBC: Add Li Cheng support 2022-10-16 01:28:27 -07:00
Vicki Pfau e370f64801 GB MBC: Add NT (old 2) support 2022-10-15 23:41:51 -07:00
Vicki Pfau 506b9c69be GBA Video: Optimize mode 0 16-color tiles a bit more 2022-10-15 23:01:36 -07:00
Vicki Pfau 74358521ab macOS: Add category to plist (closes #2691) 2022-10-15 16:47:49 -07:00
Vicki Pfau 1f36728244 GB Serialize: Add missing savestate support for MBC6 and NT (newer) 2022-10-15 04:42:10 -07:00
Vicki Pfau 0bd4ad034e GB MBC: Add NT (old 1) support 2022-10-15 04:13:37 -07:00
Vicki Pfau 47e704d257 Qt: Expand criteria for tag branch names (fixes #2679) 2022-10-14 23:36:20 -07:00
Vicki Pfau d5669c2872 Qt: Manually split filename to avoid overzealous splitting (fixes #2681) 2022-10-14 23:36:06 -07:00
Vicki Pfau 5067eb621c Res: Fix species name location in Ruby/Sapphire revs 1/2 (fixes #2685) 2022-10-14 21:34:32 -07:00
Vicki Pfau 6fa2f74279 CMake: Bump verison 2022-10-11 22:23:40 -07:00
Vicki Pfau 686eee4e20 Changes: Update for 0.10.0 2022-10-11 20:30:00 -07:00
Vicki Pfau ce6e3fad46 Qt: Update translations 2022-10-11 20:28:54 -07:00
Vicki Pfau 959e4bf1e6 Qt: Fix flickering when frame-advancing on Windows 2022-10-11 20:27:49 -07:00
Vicki Pfau 16bcdd0fc3 Updater: Cleanup 2022-10-11 19:52:13 -07:00
Vicki Pfau ded409f0da CMake: Include zip/7z deps for updater 2022-10-11 19:52:02 -07:00
Vicki Pfau ff772fce9d Qt: Attempt to reduce flickering 2022-10-11 19:08:50 -07:00
Vicki Pfau 903f792731 Updater: Log to file 2022-10-11 19:05:47 -07:00
Vicki Pfau ac8c371219 Qt: Fix logged error when starting on Mac 2022-10-11 02:37:12 -07:00
Vicki Pfau d5b66cc7e7 Qt: Actually detach video proxy 2022-10-11 02:36:46 -07:00
Vicki Pfau e1c43b9287 macOS: Disable OpenGL 1.x on newer macOS 2022-10-10 00:11:40 -07:00
Vicki Pfau bf3d31b24e Qt: Don't ship translations that are less than 10% done 2022-10-09 23:57:41 -07:00
Vicki Pfau 9861fd67b0 Qt: Update translations 2022-10-09 23:56:38 -07:00
Felipe 463d157e9f Qt: Update translation (Portuguese (Brazil))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2022-10-09 23:55:27 -07:00
Lothar Serra Mari 330bfbaf42 Qt: Update translation (German)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
2022-10-09 23:53:47 -07:00
Allan Nordhøy c76a2340fa Qt: Update translation (Norwegian Bokmål)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/nb_NO/
2022-10-09 23:53:47 -07:00
Daniele Scasciafratte 8232700412 Qt: Update translation (Italian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2022-10-09 23:53:47 -07:00
Luka Giacco ca17220e27 Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2022-10-09 23:53:47 -07:00
shinyoyo 6585e8b244 Qt: Update translation (Chinese (Simplified))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2022-10-09 23:53:47 -07:00
Hoseok Seo 583e95e45f Qt: Update translation (Korean)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ko/
2022-10-09 23:53:47 -07:00
Luna Lyday 04bc011900 Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2022-10-09 23:53:47 -07:00
Vicki Pfau 8b887cb0ff Qt: Fix coloration of swatches on styles with distinct frame backgrounds 2022-10-09 23:53:47 -07:00
Vicki Pfau baf5d71f93 Qt: Move Replace ROM option to Emulation menu 2022-10-09 23:53:47 -07:00
Vicki Pfau b8a9baa474 Util: Fix utf8 decoding regression 2022-10-09 23:14:36 -07:00
Vicki Pfau 0c39cae5a2 Util: Fix indentation 2022-10-09 23:05:48 -07:00
Vicki Pfau 8665b28f0d Core: Interrupt timing during reset (fixes #2651) 2022-10-09 22:07:58 -07:00
easyaspi314 a2a888bf10 hle-bios.s: Make initial registers match BIOS state 2022-10-09 21:36:36 -07:00
Vicki Pfau 225369f2b6 GBA Savedata: Fix RTC writing invalidating save mapping 2022-10-08 16:04:50 -07:00
Vicki Pfau 7982de2a4c Vita: Fix keyboard result bounds check 2022-10-06 22:21:38 -07:00
Vicki Pfau 4508797e35 mGUI: Fix cheat max length 2022-10-06 21:38:09 -07:00
Vicki Pfau e7159ac771 GBA Savedata: Fix crash when loading/saving RTC games with no savedata 2022-10-06 14:46:54 -07:00
Vicki Pfau e23d04afc5 GB Memory: Fix bounds of TAMA5 registers in savestates 2022-10-06 03:24:06 -07:00
Vicki Pfau bb711d311f GBA Savedata: Store RTC data in savegames (closes #240) 2022-10-06 02:57:26 -07:00
Vicki Pfau e2e22e2218 Res: Update patrons for October 2022-10-06 00:23:55 -07:00
Vicki Pfau a56bfab48e Qt: Fix OSD being off by default 2022-10-03 23:07:14 -07:00
Vicki Pfau 168c9cb8d6 Debugger: platformCommands should be able to be NULL 2022-10-03 15:55:09 -07:00
Vicki Pfau 9adad40b1c GB Audio: Fix changing channel properties mid-frame (fixes #2655) 2022-10-02 17:18:19 -07:00
Vicki Pfau 1807442577 Scripting: Add documentation for Lua sockets 2022-10-01 22:04:53 -07:00
Vicki Pfau e4a5a3f2db Scripting: Fix value docstrings with newlines 2022-09-29 03:28:26 -07:00
Vicki Pfau 6fc8195177 Scripting: Style nit 2022-09-29 03:12:11 -07:00
Vicki Pfau 91fb63c484 Scripting: Add "internal" marker to classes, exported to docgen 2022-09-29 03:11:59 -07:00
Vicki Pfau 7719dd5ec4 Scripting: Fix member docstrings with newlines 2022-09-29 02:53:37 -07:00
Vicki Pfau 0c33863e66 Qt: Include cheats in bug report 2022-09-28 04:27:45 -07:00
Vicki Pfau 31f798748b VFS: Early return NULL if attempting to map 0 bytes from a file 2022-09-27 05:33:46 -07:00
Vicki Pfau 55c2efa3ea GB: Don't try to map a 0-byte SRAM (fixes #2668) 2022-09-27 05:33:46 -07:00
Vicki Pfau c06d38449d Qt: Fix scripting disabled build 2022-09-26 00:20:37 -07:00
Vicki Pfau a12a391fd1 CMake: Don't include scripting.c in libretro build 2022-09-26 00:16:14 -07:00
Vicki Pfau 8e898b02cc Scripting: Add doc structs and exporting documentation from engines 2022-09-25 17:31:49 -07:00
Vicki Pfau 73d19cc02a Scripting: Add reference to the top-level engine in engine contexts 2022-09-25 17:30:30 -07:00
Vicki Pfau 95336463bf Scripting: Add root scope function for engines 2022-09-25 17:30:30 -07:00
Vicki Pfau 68845e080a Scripting: Const fix 2022-09-25 17:30:30 -07:00
Adam Higerd b60e0b9282 Scripting: Return status from socket.connect, fix coding style 2022-09-25 16:58:46 -07:00
Vicki Pfau 7520d8fc06 Scripting: MSVC build fixes 2022-09-21 22:57:22 -07:00
Vicki Pfau d4b3bcde0f Util: More buildfixes 2022-09-21 20:41:40 -07:00
Vicki Pfau 536170c331 Windows: Buildfixes 2022-09-21 20:22:26 -07:00
Vicki Pfau c57075a539 Scripting: Buildfix 2022-09-21 20:04:56 -07:00
Vicki Pfau 2912bd2d07 GB: Support CGB0 boot ROM loading 2022-09-21 20:04:56 -07:00
Adam Higerd 6822e04c08 Res: sample socket client and socket server scripts 2022-09-21 20:01:12 -07:00
Adam Higerd d852c7c8f0 Scripting: add socket bindings 2022-09-21 20:01:12 -07:00
Adam Higerd a11b103a9c Util: Add DNS resolution and SO_REUSEADDR to sockets 2022-09-21 20:01:12 -07:00
Vicki Pfau 084b56b3bf GB: Remove faulty debug logging 2022-09-12 00:13:19 -07:00
Vicki Pfau 5dbe240442 Qt: Resume crashed game when loading a save state 2022-09-11 02:51:24 -07:00
Vicki Pfau 83f0deab1b Scripting: Fix some memory leaks 2022-09-10 04:01:38 -07:00
Vicki Pfau 29e1ddbb21 Qt: Fix build on older Qt 2022-09-09 18:29:00 -07:00
Vicki Pfau e87f7b7b68 Qt: Use FFmpeg to convert additional camera formats, if available 2022-09-09 16:38:34 -07:00
Vicki Pfau 550866fcac Libretro: Fix backwards, oversensitive accelerometer (fixes #2635) 2022-09-09 02:27:14 -07:00
Vicki Pfau d95d982ba3 Qt: Don't re-enable updates on xcb 2022-09-09 01:45:33 -07:00
Vicki Pfau 4b0ea00ba1 GBA: Fix 1 MiB ROM mirroring to only mirror 4 times 2022-09-07 20:26:35 -07:00
Vicki Pfau e0b07a6446 GB: Fix HALT breaking M-cycle alignment (fixes #250) 2022-09-04 00:09:14 -07:00
JakobDev c6b25f14a3
Use reverse DNS for LInux data files (#2648) 2022-09-01 02:16:45 -07:00
Vicki Pfau c305c377db GB MBC: Finish TAMA6 timer (non-alarm) emulation 2022-08-31 00:12:33 -07:00
Vicki Pfau 9b35e76416 GB MBC: Add more TAMA6 commands 2022-08-31 00:12:33 -07:00
Vicki Pfau 0d8e7efff4 Res: Update No-Intro db 2022-08-31 00:12:33 -07:00
Vicki Pfau 055d062944 Third-Party: Update zlib and libpng 2022-08-31 00:12:33 -07:00
Stevoisiak a62afb6a56 README: Minor grammar update 2022-08-30 16:53:49 -07:00
Vicki Pfau e2084b4a98 macOS: Fix very old Xcode build 2022-08-30 00:20:13 -07:00
Vicki Pfau 0b50e7163e GB MBC: Start work on TAMA6 RTC pages 2022-08-28 21:29:10 -07:00
Vicki Pfau 1985713c3a GB MBC: Emulate TAMA6 timer disabling 2022-08-28 19:15:03 -07:00
Vicki Pfau 51784b1996 README: This TODO is done 2022-08-28 16:53:45 -07:00
Vicki Pfau bac42c9027 GB MBC: Partial TAMA5 RTC 2022-08-28 03:53:51 -07:00
Vicki Pfau 2a9f32a840 Qt: Store initial size externally 2022-08-21 01:14:35 -07:00
Dominus Iniquitatis 25677679df Res: Add TV Mode shader 2022-08-20 13:55:09 -07:00
Vicki Pfau a8dcf87e70 Qt: Enforce minimum size a bit better 2022-08-19 22:50:44 -07:00
Vicki Pfau a3acf4cb1f Qt: Fix cursor hiding/unhiding 2022-08-17 21:29:29 -07:00
Vicki Pfau 6fc656296d Qt: Fix viewport sizing (fixes #2578) 2022-08-17 21:29:13 -07:00
atilluF 0fea8d63fc Qt: Update translation (Italian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2022-08-16 23:03:13 -07:00
Jaime Marquínez Ferrándiz 328fee867f Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2022-08-16 23:03:13 -07:00
Mikhail Zadorsky e3fb7693e3 Qt: Update translation (Russian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2022-08-16 23:03:13 -07:00
shinyoyo ca94e14545 Qt: Update translation (Chinese (Simplified))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2022-08-16 23:03:13 -07:00
Vicki Pfau 8a87eaa395 GB Video: Back out "inaccurate" SGBC hacks 2022-08-16 22:29:10 -07:00
Vicki Pfau feec147f07 Qt: Fix GB colors overrides being broken for games with CGB overrides when set to none 2022-08-16 03:35:44 -07:00
Adam Higerd 8f724d6a1f typo fix in scripting core 2022-08-15 16:23:09 -07:00
Vicki Pfau 368ad24516 Debugger: Fix multiple conditional watchpoints at the same address 2022-08-13 03:41:55 -07:00
Vicki Pfau 3b5fb57013 Qt: Disable updates on xcb too 2022-08-13 03:36:03 -07:00
Vicki Pfau 3602bb113e Windows: MSVC is bad at C11 2022-08-08 14:02:54 -07:00
Vicki Pfau ba27062842 Vita, Wii: Build fixes 2022-08-08 13:05:32 -07:00
Vicki Pfau 9b07a63056 All: Preliminary shift to C11 2022-08-08 12:54:49 -07:00
Adam Higerd 519968d37e fix SocketConnect for IPv6 2022-08-07 23:01:32 -07:00
Vicki Pfau 902c7aade4 Scripting: Add missing forward declarations 2022-08-07 15:29:47 -07:00
Vicki Pfau ad32c0f750 GB Audio: Fix regressions 2022-08-07 15:29:10 -07:00
Vicki Pfau 1fb7d7a4a3 GB Audio: Increase sample rate 2022-08-06 23:08:28 -07:00
Vicki Pfau 137f3e5804 Qt: Change lossless setting to use WavPack audio 2022-08-06 18:21:40 -07:00
Vicki Pfau 82ce165211 FFmpeg: Support dynamic audio sample rate 2022-08-06 18:20:36 -07:00
shinyoyo 4247fd0be3 Qt: Update translation (Chinese (Simplified))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2022-07-26 20:18:55 -07:00
Vicki Pfau 8cc8927bf0 Qt: Update translations 2022-07-19 23:33:59 -07:00
Adam Higerd 527e3dd613 fix misspelling in settings view 2022-07-19 12:43:25 -07:00
Vicki Pfau 04216780c3 Qt: I thought I backed that out 2022-07-17 23:26:08 -07:00
Vicki Pfau a425554d45 Qt: Update translations 2022-07-17 22:48:21 -07:00
Vicki Pfau a0c6573653 Qt: Fix ui namespacing 2022-07-17 22:48:21 -07:00
Vicki Pfau ed5f65f36d Qt: Fix some translator lookups 2022-07-17 22:48:21 -07:00
Vicki Pfau ca484d38b8 Qt: Separate out new Gameplay settings tab 2022-07-17 22:48:06 -07:00
Vicki Pfau e56653319e Qt: Add splitters to scripting view 2022-07-17 21:14:23 -07:00
Vicki Pfau 5db7d95aa2 ARM: Fix some disassembly 2022-07-17 15:56:56 -07:00
Vicki Pfau 4d8700ccb7 Qt: Fix warning 2022-07-14 23:11:10 -07:00
Vicki Pfau 004f317aba GBA Video: Mark framebuffer as dirty if the output texture changes 2022-07-13 19:53:44 -07:00
Vicki Pfau 8997eda005 Revert "Qt: Improve frame pacing, maybe"
This reverts commit 76d6055bb0.
2022-07-13 19:27:38 -07:00
Vicki Pfau ff95aab0b9 Revert "Qt: More Windows frame-pacing fixes"
This reverts commit 5b3fea3038.
2022-07-13 19:27:26 -07:00
Vicki Pfau 65886b02f4 SDL: Fix deadlock if game crashes 2022-07-11 00:24:58 -07:00
Vicki Pfau 91ee9822d1 Qt: Fix crashing on loading a deleted recent script 2022-07-10 17:13:34 -07:00
Vicki Pfau d4d7a3b6b9 Util: Fix ubsan warning 2022-07-10 16:41:13 -07:00
Vicki Pfau b8087c1d97 Test: Fix no-return register ROM tester usage 2022-07-09 05:08:33 -07:00
Vicki Pfau 5ad8907acb Test: Use core register API instead of hardcoding 2022-07-09 04:34:39 -07:00
Vicki Pfau 8c2f2a8649 GB Core: Case-insensitive register name matching 2022-07-09 03:59:04 -07:00
Vicki Pfau 325f59f404 Test: Make logging configuration work with ROM tester 2022-07-09 02:34:39 -07:00
Vicki Pfau 8997055fc0 Core: Migrate SDL logging enhancements into core 2022-07-09 02:34:10 -07:00
Vicki Pfau f4f5521b9b CMake: Add liblua dependency on Debian 2022-07-07 17:48:43 -07:00
Vicki Pfau 01c881d18d Debugger: Minor parser refactoring; fix crash 2022-07-06 23:55:49 -07:00
Vicki Pfau 5b3fea3038 Qt: More Windows frame-pacing fixes 2022-07-04 21:30:14 -07:00
Vicki Pfau 38ae69d54d Qt: Remove broken-on-ninja ts.cmake 2022-07-03 21:17:21 -07:00
Vicki Pfau 40dd9b2b18 Res: Add more versions of the icons 2022-07-03 19:34:32 -07:00
Vicki Pfau 0cfaf0a240 Qt: Add more bounds checks to tile selection 2022-07-03 18:53:55 -07:00
Vicki Pfau 76d6055bb0 Qt: Improve frame pacing, maybe 2022-07-03 06:45:50 -07:00
Vicki Pfau 9bcfd248e9 Qt: Fix bounded sync when sync to video is enabled 2022-07-03 06:45:50 -07:00
Vicki Pfau c11392e77a Qt: Early painter abort 2022-07-03 06:45:50 -07:00
Vicki Pfau 2700bf2c97 Qt: Don't attempt to draw a frame if holding an interrupter 2022-07-03 04:19:08 -07:00
Vicki Pfau fa5c5e9601 Scripting: Fix memory domain writing 2022-07-02 22:49:47 -07:00
Vicki Pfau 57880bf674 Core: Add romSize function 2022-07-02 22:49:47 -07:00
Vicki Pfau 71f74d25b0 GBA: Fix 64 MiB GBA Video ROMs 2022-07-02 22:49:47 -07:00
Thompson Lee 116d75c3c8
doc: Updated the README.md to include more important information for setting up Docker for building mGBA. (#2575) 2022-07-02 15:25:24 -07:00
Vicki Pfau 977b184ecb Feature: More warning burndown 2022-07-02 03:17:58 -07:00
Vicki Pfau e03e48f9c6 Scripting: Use return with lua_error so static analysis gets less confused 2022-07-02 03:11:34 -07:00
Vicki Pfau 39886c72f5 Qt: Update translations 2022-07-01 23:57:46 -07:00
Dardo Marasca c71baa0c87 Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2022-07-01 23:51:16 -07:00
Lothar Serra Mari dcd63f1ceb Qt: Update translation (German)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
2022-07-01 23:51:00 -07:00
Vicki Pfau ae33504577 Core: Fix memory leak when refreshing a directory 2022-07-01 23:42:41 -07:00
Vicki Pfau 7f91cfe58d GBA: Fix some ROM buffer handling issues with oddly sized files 2022-07-01 23:37:50 -07:00
Vicki Pfau dd29e0cad3 Qt: Clean up views 2022-07-01 20:25:25 -07:00
Vicki Pfau d053058ea3 Scripting: Add boolean type 2022-07-01 02:02:55 -07:00
Vicki Pfau fa985d5798 Scripting: Add save state file API 2022-07-01 00:48:18 -07:00
Vicki Pfau 9515de7212 Scripting: Add loading API 2022-07-01 00:34:33 -07:00
Vicki Pfau 84e60e99f4 All: More warning burndown 2022-06-30 05:55:56 -07:00
Vicki Pfau 96c137c1a2 Core: Fix leaks and clean up mDirectorySet 2022-06-30 04:42:58 -07:00
Vicki Pfau 11589d874f Qt: Fix leak when opening a ROM in an archive 2022-06-30 04:42:58 -07:00
Vicki Pfau 68ef5d3a5b GB: Fix replacing the ROM crashing when accessing ROM base 2022-06-30 04:42:58 -07:00
tom_mai78101 179d6a7236 Powershell dictates the requirement where automatic variables need to be wrapped around with curly brackets ({}). This is referenced from the documentation here, as quoted below: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_variables?view=powershell-7.2
"To create or display a variable name that includes spaces or special characters, enclose the variable name with the curly braces ({}) characters. The curly braces direct PowerShell to interpret the variable name's characters as literals. For example, the following command creates the variable named 'save-items'. The curly braces ({}) are needed because variable name includes a hyphen (-) special character."
2022-06-29 20:48:16 -07:00
Vicki Pfau a851c1e094 Res: Add some stylized icons for future use 2022-06-29 01:39:06 -07:00
Vicki Pfau 0979380c74 Debugger: Shaving recursive yaks takes a lot of work 2022-06-28 18:43:15 -07:00
Vicki Pfau 1bf1a97023 GBA Video: Fix sprite layer priority updating in GL 2022-06-28 02:23:39 -07:00
Vicki Pfau 2969a8bf7a Core: Fix cache writes that span multiple tiles 2022-06-27 21:10:16 -07:00
Vicki Pfau 99f067e539 Scripting: Fix typo 2022-06-27 20:10:18 -07:00
Vicki Pfau 5c80fa67ef Qt: Fix Quit role 2022-06-24 22:24:05 -07:00
Vicki Pfau 6629aeebec GBA Video: Fix high tiles rendering wrong on macOS 2022-06-24 21:46:02 -07:00
Vicki Pfau 7fe043146d Res: Auto-register frame callback 2022-06-24 19:01:33 -07:00
Vicki Pfau d21da6df2d Qt: Fix crash when calling createBuffer from a callback 2022-06-24 19:01:10 -07:00
Vicki Pfau e8a39fea95 All: Clean up some warnings 2022-06-24 17:48:52 -07:00
Vicki Pfau f3209e1942 Qt: Move scripting classes into folder 2022-06-24 17:25:53 -07:00
Vicki Pfau 5349cab4b2 Qt: Better error checking in mGLWidget 2022-06-24 01:55:52 -07:00
Vicki Pfau b1f1da4f7d Core: Fix warning 2022-06-24 00:53:15 -07:00
Vicki Pfau 1a61da9f83 Qt: Fix warning 2022-06-24 00:53:06 -07:00
ahigerd 1bda318531
Qt: Refactor the script buffer list into a model (#2566) 2022-06-23 23:15:35 -07:00
Vicki Pfau c1b1f72005 Scripting: Fix crashes when functions return null 2022-06-21 16:17:32 -07:00
ahigerd 8d7c040b46
Don't crash when resetting scripting UI (#2564) 2022-06-20 22:48:55 -07:00
Vicki Pfau 0dce8b392a Scripting: Fix test fallout 2022-06-16 23:45:20 -07:00
Vicki Pfau 79506cef72 Scripting: Fix elision of MemoryDomain documentation 2022-06-16 23:40:37 -07:00
Vicki Pfau 840e2806b5 Scripting: Basic void type bringup 2022-06-16 23:40:11 -07:00
Vicki Pfau 0b2cfb505f Qt: Fix build on older Qt 2022-06-16 22:01:03 -07:00
Vicki Pfau 4851109027 Core: Add wallclock offset RTC type 2022-06-16 21:57:45 -07:00
Vicki Pfau a60bc18ad0 CMake: Cleanup and enhance FindFeature, fix static libedit 2022-06-16 16:12:32 -07:00
Vicki Pfau ddccbee47b Qt: Show correct channel for modern macOS builds 2022-06-16 15:41:28 -07:00
Vicki Pfau 07221181ea Qt: Fix VAO reinitialization 2022-06-16 15:39:29 -07:00
Vicki Pfau fa910fc629 Mac: Start bringing up Universal build support 2022-06-15 23:31:20 -07:00
Vicki Pfau 6159c5a70b GBA Audio: Decrunchify GB audio 2022-06-15 20:34:06 -07:00
Vicki Pfau 33b3d33da2 Core: Rename GBAStereoSample to mStereoSample 2022-06-15 18:39:38 -07:00
Vicki Pfau a0613e27ab SDL: Support exposing an axis directly as the gyro value (closes #2531) 2022-06-14 21:12:53 -07:00
Vicki Pfau 85737f1103 SDL: Support exposing an axis directly as the gyro value (closes #2531) 2022-06-14 20:15:26 -07:00
Vicki Pfau f7d8b77bd4 GB MBC: Fix edge case with Pocket Cam register accesses (fixes #2557) 2022-06-14 15:15:11 -07:00
Vicki Pfau 4707368d7f Qt: Fix typo 2022-06-14 00:17:54 -07:00
Vicki Pfau 7f453ce202 GBA Video: Fix horizontal lines in GL when charbase is changed (fixes #1631) 2022-06-14 00:13:51 -07:00
Vicki Pfau d2ac7c4ca0 Qt: Add Lua to report view 2022-06-10 20:59:27 -07:00
Vicki Pfau c12fa581b3 Scripting: Fix build with Lua 5.1 and 5.2 2022-06-10 20:51:33 -07:00
Vicki Pfau 601d025e30 Scripting: Fix require return values 2022-06-10 19:55:45 -07:00
Vicki Pfau 9ac6096c3d GB SIO: Fix bidirectional transfer starting (fixes #2290) 2022-06-09 21:10:27 -07:00
Vicki Pfau d9092c6acf Scripting: Invert search order 2022-06-09 16:37:40 -07:00
Vicki Pfau 45b47c32d2 Scripting: Much cleaner require shimming 2022-06-09 16:18:34 -07:00
Vicki Pfau aee35a4442 Scripting: More cleanup 2022-06-09 14:54:30 -07:00
Vicki Pfau b43509e705 Scripting: Free memory leak 2022-06-09 01:00:46 -07:00
Vicki Pfau 3e4f1fcb2e Scripting: Lua requires should be relative to the file they were run from 2022-06-08 21:44:01 -07:00
Vicki Pfau b42b997f00 Scripting: Why does this function take PCWSTR?? 2022-06-08 18:04:43 -07:00
Vicki Pfau 6e196748d8 Scripting: Hand off full filename to Lua, add directory to DLL search path 2022-06-08 17:55:37 -07:00
Vicki Pfau 7b8ba05f88 Qt: Only disable DisplayGL updates on Windows 2022-06-08 15:32:49 -07:00
Vicki Pfau ae0c5e91aa Qt: Simplify Window drawing (fixes #2190) 2022-06-08 15:32:42 -07:00
Vicki Pfau 97cb18d3fd GBA Video: Fix two sprite boundary conditions in OpenGL 2022-06-08 01:53:35 -07:00
Vicki Pfau 7a07b148cb GBA Video: Fix OBJ tile wrapping with 2D char mapping (fixes #2443) 2022-06-08 00:15:52 -07:00
Vicki Pfau 5ba82aaed0 GB I/O: Windowed WAVE RAM reading only works on CGB, not CGB-on-AGB 2022-06-07 00:21:16 -07:00
Vicki Pfau f9e03e7182 GBA Memory: Implement adjustable EWRAM waitstates (closes #1276) 2022-06-07 00:05:27 -07:00
Vicki Pfau 8c83570191 CInema: Add remaining blargg tests, except for oam_bug (closes #2006) 2022-06-06 23:12:25 -07:00
Vicki Pfau fda7f83855 GB I/O: Fix writing to WAVE RAM behavior (fixes #1334) 2022-06-06 22:57:45 -07:00
Vicki Pfau 00421cd046 GB Audio: Fix APU re-enable timing glitch 2022-06-06 22:35:35 -07:00
Vicki Pfau 542824e3c0 CMake: Minor fixes 2022-06-06 21:40:18 -07:00
Vicki Pfau 70a34a58f0 Tools: Retry failed server start command 2022-06-06 17:22:41 -07:00
shinyoyo aad78be37f Update new translated Simplified Chinese entry 2022-06-06 01:12:45 -07:00
Vicki Pfau 11837ffc15 ARM: Disassemble Thumb mov pseudo-instruction properly 2022-06-05 20:59:30 -07:00
Vicki Pfau 3687863cbc Scripting: Add callback removing 2022-06-05 20:36:54 -07:00
Vicki Pfau 6289c1a4d1 GBA Serialize: Fix doc error 2022-06-05 20:36:26 -07:00
Vicki Pfau 10eb2b9784 Scripting: Add root-scope docstrings 2022-06-05 03:29:18 -07:00
Vicki Pfau 00bd093fe3 Scripting: Add bitmask handling functions 2022-06-05 03:29:18 -07:00
Vicki Pfau d4c1ab1728 Scripting: Fix some Lua memory lifetimes 2022-06-05 03:29:18 -07:00
Vicki Pfau d6accc4ef6 Scripting: Add calling functions with lists 2022-06-05 03:29:18 -07:00
Celeste Wouters e87ba99140 GBA Memory: update the renderer on rawWrite{16,32}/GBAPatch{16,32}
rawWrite{16,32}/GBAPatch{16, 32} is used by the memory editor on Qt,
and changes to the VRAM area there were not reflected on the graphical
output, palette or OAM writes are. This fixes this inconsistency.
2022-06-04 13:43:34 -07:00
Vicki Pfau 3c228dad60 Qt: Fix games not displaying on macOS after first run 2022-06-03 23:45:34 -07:00
Vicki Pfau 9f5267e24e GBA Audio: Claw back some performance 2022-06-03 22:36:19 -07:00
Vicki Pfau f4217a7a77 GBA Video: Use memset instead of manually assigning 2022-06-03 15:41:07 -07:00
Vicki Pfau 46b59268d3 GB Audio: Optimize channel 4 2022-06-02 23:26:15 -07:00
Vicki Pfau c19457aa4b GBA Overrides: Add Game Boy Wars Advance 1+2 entry (fixes #2540) 2022-06-02 22:19:15 -07:00
Vicki Pfau 818314a6fd GBA I/O: SOUNDBIAS is readable when sound is off (fixes #2541) 2022-06-02 22:19:07 -07:00
Vicki Pfau 0a674dd377 Updater: Fix stub MSVC build 2022-06-01 20:18:49 -07:00
Vicki Pfau 3c0d9f7197 GBA Audio: Sample FIFOs at SOUNDBIAS-set frequency 2022-06-01 19:13:05 -07:00
Vicki Pfau 29dbb55c80 GBA I/O: Unstub SOUNDBIAS 2022-06-01 02:32:21 -07:00
Vicki Pfau cbbcf7478e GBA Audio: Adjust PSG sampling rate with SOUNDBIAS 2022-06-01 02:15:07 -07:00
Vicki Pfau cbbaa42641 CHANGES: Update 2022-06-01 02:15:07 -07:00
Vicki Pfau cdabfd491b GB Audio: Minor optimizations 2022-06-01 01:29:33 -07:00
Vicki Pfau 76a8f4da2b GB Audio: Migrate channel 3 into GBRunAudio 2022-06-01 01:29:33 -07:00
Vicki Pfau 779e7bc94b GB Audio: Migrate channel 4 into GBRunAudio 2022-06-01 01:11:45 -07:00
Vicki Pfau 68f628a211 GB Audio: Redo channels 1 and 2 2022-06-01 01:11:40 -07:00
Vicki Pfau 5e6d063aa1 Qt: I'm so tired 2022-05-30 22:53:21 -07:00
Vicki Pfau 39bb404332 Qt: Actually fix the build order this time, except with MSVC, but I'll take it 2022-05-30 22:50:53 -07:00
Vicki Pfau 14f217963c Qt: Attempt to fix build order again 2022-05-30 22:43:38 -07:00
Vicki Pfau 4f9cfd5a7e Qt: Attempt to fix build order 2022-05-30 22:02:47 -07:00
Vicki Pfau 61bc17953b Updater: Add support for appimage 2022-05-30 21:46:08 -07:00
Vicki Pfau ccbb44e95a Updater: Don't link against libmgba 2022-05-30 21:46:08 -07:00
Vicki Pfau 6b5ad35d5b Res: pokemon.lua cleanup 2022-05-30 18:51:43 -07:00
Vicki Pfau 82ac857c2c Qt: Update translations 2022-05-29 20:39:09 -07:00
Vicki Pfau 6fd3bfb86b Qt: Fix preloading for ROM replacing 2022-05-29 20:39:09 -07:00
Alejandro Alcaide a9978e9892 Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2022-05-29 19:26:25 -07:00
José J. Placencia Bobadilla 6285387bdd Qt: Update translation (Spanish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2022-05-29 19:26:25 -07:00
Luna Lyday 9306510023 Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2022-05-29 19:26:25 -07:00
LucentW b4df69c0f9 Qt: Update translation (Italian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2022-05-29 19:26:25 -07:00
Vicki Pfau 0c02f2798a GBA Video: Fix sprites with mid-frame palette changes in GL (fixes #2476) 2022-05-29 18:49:40 -07:00
Vicki Pfau 511a12c507 GBA Video: Fix highlighting for sprites with mid-frame palette changes 2022-05-29 18:46:34 -07:00
Vicki Pfau 81289cdb62 Scripting: More MSVC fixes 2022-05-29 14:32:51 -07:00
Vicki Pfau d2a7065d77 Appveyor: Add Lua 2022-05-29 14:06:07 -07:00
Vicki Pfau 3261799d92 CMake: Fix build when Lua fails to detect 2022-05-29 14:06:07 -07:00
Vicki Pfau 4358364830 CMake: Fix Lua build with older versions 2022-05-29 13:53:04 -07:00
Vicki Pfau b6ec54dadf Merge branch 'feature/scripting' 2022-05-29 13:29:20 -07:00
Vicki Pfau bd20540276 Scripting: MSVC fixes 2022-05-29 02:44:17 -07:00
Vicki Pfau e93d780db7 Scripting: Fix indentation 2022-05-29 02:44:17 -07:00
Vicki Pfau 8e617556e9 Scripting: Get docgen to print to file, fix some warnings 2022-05-29 02:44:17 -07:00
Vicki Pfau 2471648dd0 Scripting: Start bringing up composite wrapper types 2022-05-29 02:44:17 -07:00
Vicki Pfau 6ebe735a73 Scripting: Add filename parameter to emu:screenshot 2022-05-29 02:44:17 -07:00
Vicki Pfau 469ce5d145 Update CHANGES and README 2022-05-29 02:44:17 -07:00
Vicki Pfau 64fba235b2
Merge pull request #2452 from ahigerd/alh/nicer-logging-checkboxes
Clean up rendering of logging grid checkboxes
2022-05-28 23:39:22 -07:00
Vicki Pfau 38299f397f GBA: Overdue constant prefixing 2022-05-28 20:58:57 -07:00
Vicki Pfau c8978fd425 Util: Rebalance non-hashed Tables too 2022-05-28 19:03:27 -07:00
Vicki Pfau 21e2ccb025 Qt: Improve cheat parsing (fixes #2297) 2022-05-28 15:04:18 -07:00
Vicki Pfau edc2e1b7f5 Scripting: Pass back old buffers when reopening view 2022-05-27 20:19:29 -07:00
Vicki Pfau 997adecddc Scripting: Add MRU 2022-05-27 20:19:29 -07:00
Vicki Pfau df60b17639 Scripting: Expose core reset 2022-05-27 20:19:29 -07:00
Vicki Pfau ccc7cd4d7f Scripting: Expose more save state functionality 2022-05-27 20:19:29 -07:00
Vicki Pfau fd202105ef Scripting: Improve docs 2022-05-27 20:19:29 -07:00
Vicki Pfau ced8fb516c Scripting: Expose more key functionality 2022-05-27 20:19:29 -07:00
Vicki Pfau 85b619dc78 Scripting: Add register information to docgen 2022-05-27 20:19:29 -07:00
Vicki Pfau 42efdc46eb Scripting: Add class-level docstrings 2022-05-27 20:19:29 -07:00
Vicki Pfau fc34b72741 Scripting: Add prototype documentation generator, outputs to YAML 2022-05-27 20:19:29 -07:00
Vicki Pfau c6e68f7224 Scripting: Expose information about the memory domains 2022-05-27 20:19:29 -07:00
Vicki Pfau 98c371b769 Scripting: Rename mScriptCallbackAdapter to mScriptCallbackManager 2022-05-27 20:19:28 -07:00
Vicki Pfau f739c28b5f Scripting: Rename mScriptMemoryAdapter to mScriptMemoryDomain 2022-05-27 20:19:28 -07:00
Vicki Pfau 7ab5f3d690 Scripting: Allow "opaque" pointers a bit more clarity 2022-05-27 20:19:28 -07:00
Vicki Pfau 6b2fa8fe67 Scripting: Add more docstrings 2022-05-27 20:19:28 -07:00
Vicki Pfau e69be0cc6f Scripting: Add reset menu opiton 2022-05-27 20:19:28 -07:00
Vicki Pfau b3476a997a Scripting: Pass filenames down to scripting engines 2022-05-27 20:19:28 -07:00
Vicki Pfau 5d7e3bdf13 Res: Support Pokemon Yellow in script 2022-05-27 20:19:28 -07:00
Vicki Pfau 7d7987d205 Res: Write better Lua 2022-05-27 20:19:28 -07:00
Vicki Pfau 62d5d788fc Res: Increase Pokemon script compatibility 2022-05-27 20:19:28 -07:00
Vicki Pfau b84a549e8c Scripting: Expose mCore.checksum function 2022-05-27 20:19:28 -07:00
Vicki Pfau 7a6b16dc41 Scripting: Fix up Lua tables 2022-05-27 20:19:28 -07:00
Vicki Pfau 7bc7656988 Scripting: Memory fixes 2022-05-27 20:19:28 -07:00
Vicki Pfau 304d8d1a4d Scripting: More API cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau 7e36a71953 Scripting: Fix segment addressing 2022-05-27 20:19:28 -07:00
Vicki Pfau a747545014 Scripting: Improve Lua error reporting 2022-05-27 20:19:28 -07:00
Vicki Pfau d15bd4969e Res: Add WIP example Pokemon script 2022-05-27 20:19:28 -07:00
Vicki Pfau 28d7bfdffc Scripting: Add prototype "buffer" pseudo-TUI interface 2022-05-27 20:19:28 -07:00
Vicki Pfau f570786d78 Scripting: Add memory range reading 2022-05-27 20:19:28 -07:00
Vicki Pfau 9c6068a526 Scripting: Start bringing up lists in lua 2022-05-27 20:19:28 -07:00
Vicki Pfau 31a7f09b8a Scripting: Add register read/write 2022-05-27 20:19:28 -07:00
Vicki Pfau 4a345fb07c Scripting: Add casting STR to CHARP 2022-05-27 20:19:28 -07:00
Vicki Pfau 93cadacb18 Scripting: Allow null values to be wrapped in Lua as nil 2022-05-27 20:19:28 -07:00
Vicki Pfau 304a8d1655 Scripting: Split macros into separate header 2022-05-27 20:19:28 -07:00
Vicki Pfau 82c97e5dc3 Scripting: Add key input functions 2022-05-27 20:19:28 -07:00
Vicki Pfau e70a9b2f41 Scripting: Add more informational functions 2022-05-27 20:19:28 -07:00
Vicki Pfau 1895ed34fc Scripting: Add making strings from non-UTF8-clean text 2022-05-27 20:19:28 -07:00
Vicki Pfau 98f5298e04 Scripting: Add __pairs implementation for tables 2022-05-27 20:19:28 -07:00
Vicki Pfau 5c84278667 Scripting: Start exporting some constants 2022-05-27 20:19:28 -07:00
Vicki Pfau 303fc17e77 Scripting: Add screenshots, delimit categories 2022-05-27 20:19:28 -07:00
Vicki Pfau cb9d45caee Scripting: Add savestate slot access 2022-05-27 20:19:28 -07:00
Vicki Pfau e228857eef Scripting: Add default arguments 2022-05-27 20:19:28 -07:00
Vicki Pfau fa847b1e63 Qt: Add basic scripting view 2022-05-27 20:19:28 -07:00
Vicki Pfau 48f49b74b1 Scripting: Make memory blocks weakrefs 2022-05-27 20:19:28 -07:00
Vicki Pfau f3ba5f7692 Scripting: API cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau ca073379fb Scripting: Add Table iteration 2022-05-27 20:19:28 -07:00
Vicki Pfau c14fb54a74 Scripting: Add callback API 2022-05-27 20:19:28 -07:00
Vicki Pfau a59349af8a Scripting: Fix some bugs with context globals 2022-05-27 20:19:28 -07:00
Vicki Pfau e8e9a3e3c3 Scripting: Bring up lists 2022-05-27 20:19:28 -07:00
Vicki Pfau 5eb25876b4 Scripting: Add memory adapter for access to memory regions 2022-05-27 20:19:28 -07:00
Vicki Pfau 076299a5f6 Scripting: Start bringing up constructors/destructors 2022-05-27 20:19:28 -07:00
Vicki Pfau bbf6d94fe2 Scripting: More table scaffolding 2022-05-27 20:19:28 -07:00
Vicki Pfau c6e18b2a59 Scripting: Lua memory fixes 2022-05-27 20:19:28 -07:00
Vicki Pfau deff3585bd Scripting: Default "get" handling a la Python and casting a struct into one of its members 2022-05-27 20:19:28 -07:00
Vicki Pfau aa91ffabfd Scripting: Revamp pointer handling, struct casting 2022-05-27 20:19:28 -07:00
Vicki Pfau c296ea79ff Scripting: Add flag for freeing the value buffer 2022-05-27 20:19:28 -07:00
Vicki Pfau 0c28e34a7e Scripting: Remove static members 2022-05-27 20:19:28 -07:00
Vicki Pfau 17d2373975 Scripting: Add "console" logger bridge 2022-05-27 20:19:28 -07:00
Vicki Pfau e3758597f8 Scripting: Hook up Lua strings and add context autodrain pool 2022-05-27 20:19:28 -07:00
Vicki Pfau af44a65c3d Scripting: Add weak references for opaque runtime access 2022-05-27 20:19:28 -07:00
Vicki Pfau 7bb051b01d Scripting: Start hooking things together 2022-05-27 20:19:28 -07:00
Vicki Pfau cdfa6ac54b Scripting: Fix unsetting globals in Lua 2022-05-27 20:19:28 -07:00
Vicki Pfau 8326ecddce Scripting: Add missing C++ guard ends 2022-05-27 20:19:28 -07:00
Vicki Pfau b9f88061ca Scripting: Add error reporting 2022-05-27 20:19:28 -07:00
Vicki Pfau 66142ab4dc Scripting: Hook up memory access 2022-05-27 20:19:28 -07:00
Vicki Pfau 8c45d51b8e Scripting: Code cleanup, add parameter names 2022-05-27 20:19:28 -07:00
Vicki Pfau 421c645e14 Scripting: More testing sugar 2022-05-27 20:19:28 -07:00
Vicki Pfau ce3710323b Scripting: Start working on mCore bridge 2022-05-27 20:19:28 -07:00
Vicki Pfau 7226b7ee31 Scripting: Interface cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau 5c67c3b600 Scripting: Lua method calling cleanup and testing 2022-05-27 20:19:28 -07:00
Vicki Pfau 16bad9f141 Scripting: Testing sugar 2022-05-27 20:19:28 -07:00
Vicki Pfau 4dae4d8f7f Scripting: Start hooking up objects in Lua 2022-05-27 20:19:28 -07:00
Vicki Pfau edb07e23c8 Scripting: Fix leaks in Lua test 2022-05-27 20:19:28 -07:00
Vicki Pfau 7c9ea1ec9b Scripting: Add basic inheritance + struct struct member access + const casting 2022-05-27 20:19:28 -07:00
Vicki Pfau 9ddada00f2 Scripting: Add struct setter 2022-05-27 20:19:28 -07:00
Vicki Pfau b0567832f8 Scripting: More const bringup 2022-05-27 20:19:28 -07:00
Vicki Pfau eadc0c677b Scripting: Minor code cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau 3179419f52 Scripting: Add static dispatch to classes 2022-05-27 20:19:28 -07:00
Vicki Pfau e912450e85 Scripting: Attempt to add const structs 2022-05-27 20:19:28 -07:00
Vicki Pfau 1a6fa25a33 Scripting: Add struct dynamic dispatch binding 2022-05-27 20:19:28 -07:00
Vicki Pfau af2e226cc4 Scripting: First pass on structs/classes 2022-05-27 20:19:28 -07:00
Vicki Pfau c8848876fa Scripting: Add 8/16-bit integer types for struct interop 2022-05-27 20:19:28 -07:00
Vicki Pfau 4c1e736915 Scripting: Fix cast failure 2022-05-27 20:19:28 -07:00
Vicki Pfau 2e00104d1a Scripting: Clean up function binding CPP 2022-05-27 20:19:28 -07:00
Vicki Pfau 7fb7d53c5d Scripting: Add Lua function call thunk 2022-05-27 20:19:28 -07:00
Vicki Pfau 9d92c185c6 Scripting: Minor cleanup 2022-05-27 20:19:28 -07:00
Vicki Pfau 36efaf6330 Scripting: Add Lua setGlobal, make sure calling run twice works 2022-05-27 20:19:28 -07:00
Vicki Pfau 2c11c4806a Scripting: Add calling Lua functions 2022-05-27 20:19:28 -07:00
Vicki Pfau ce97d86906 Scripting: Start bringing up Lua bindings 2022-05-27 20:19:28 -07:00
Vicki Pfau 512572769e Scripting: Rework functions; add wrapper type for stack references 2022-05-27 15:57:38 -07:00
Vicki Pfau c507157ab8 Scripting: Start bringing up execution contexts 2022-05-27 15:57:38 -07:00
Vicki Pfau 2a81e5a1ba Scripting: Add 64-bit types 2022-05-27 15:57:38 -07:00
Vicki Pfau cbae6a61e5 Scripting: Start adding type-aware casting 2022-05-27 15:57:38 -07:00
Vicki Pfau 9955d0d19b Scripting: Start string bringup 2022-05-27 15:57:38 -07:00
Vicki Pfau 8818bf4048 Scripting: Move equality into type implementation 2022-05-27 15:57:38 -07:00
Vicki Pfau 16563fe4d2 Scripting: Typing cleanup 2022-05-27 15:57:38 -07:00
Vicki Pfau a2b0230c71 Scripting: Add some helper macros 2022-05-27 15:57:38 -07:00
Vicki Pfau 34752e95d5 Scripting: Adapt Table type to use HashTableCustom 2022-05-27 15:57:38 -07:00
Vicki Pfau 9d6f424623 Scripting: Allow unsetting bridge debugger 2022-05-27 15:57:38 -07:00
Vicki Pfau 1a33a71771 Scripting: Initial runtime bringup work 2022-05-27 15:57:38 -07:00
Vicki Pfau 7b4850024a Core: Fix memory leak 2022-05-27 15:57:17 -07:00
Vicki Pfau f3c26add07 Core: Add mCoreTakeScreenshotVF function 2022-05-27 14:29:17 -07:00
Vicki Pfau fe10c00289 Util: Implement HashTableEnumerateCustom 2022-05-27 00:44:33 -07:00
Vicki Pfau a7710ed8d5 ARM: Fix warning spew 2022-05-27 00:42:11 -07:00
Vicki Pfau 4c1d44692c Util: Add Table iterators 2022-05-26 23:58:35 -07:00
Vicki Pfau 68c57df1f6 Util: Add custom callbacks for hash tables 2022-05-26 23:58:35 -07:00
Vicki Pfau ab3cd84ed4 Qt: Refactor out log widget 2022-05-26 23:58:35 -07:00
Vicki Pfau 86f7acbbb9 CMake: Add version checking in find_feature 2022-05-26 23:57:52 -07:00
Vicki Pfau 0035b5a22b Util: Reformat hashing and let it use 64-bit regions 2022-05-26 23:52:06 -07:00
Vicki Pfau 6b189fe249 README: Update 2022-05-26 21:34:20 -07:00
Vicki Pfau c6d7c40dfc GBA: Fix booting multiboot ROMs with no JOY entrypoint 2022-05-24 20:51:36 -07:00
Vicki Pfau 86b032dac7 GBA Video: Clear window offset on reset (fixes #2471, fixes #2500) 2022-05-21 17:06:49 -07:00
Vicki Pfau 87738ba8f3 Core: Migrate register access API from debugger into core 2022-05-16 15:58:50 -07:00
Vicki Pfau 6f09085676 Qt: Poll current keys in case some external force has changed them 2022-05-16 15:12:26 -07:00
Vicki Pfau af043e0792 Core: Add getKeys API 2022-05-16 15:12:21 -07:00
Vicki Pfau 8a60cd8c47 Qt: Merge in more preparatory Qt6 scaffolding 2022-05-15 23:39:30 -07:00
Vicki Pfau 14e1552a3b Util: Add missing file 2022-05-15 21:52:11 -07:00
Vicki Pfau e76698ae59 Util: Add latin1ToUtf8 2022-05-15 21:44:36 -07:00
Vicki Pfau 155c57b19e Util: Add utf8strlen, tests 2022-05-15 21:44:20 -07:00
Vicki Pfau e9ba117258 Util: Actually build the string parser test suite 2022-05-15 21:43:47 -07:00
Vicki Pfau 5c14e3738e Qt: Build on older Qt 2022-05-13 00:31:39 -07:00
Vicki Pfau b3ec5cca98 Qt: Fix some warnings 2022-05-13 00:24:59 -07:00
Vicki Pfau 8f5e755c09 GB, GBA Savedata: Fix memory leaks when loading new saves 2022-05-13 00:04:16 -07:00
Vicki Pfau aad85a7950 Qt: Fix more deprecation warnings 2022-05-12 23:37:41 -07:00
Vicki Pfau cbe5c305b6 GBA: Fix mbVf initialization 2022-05-12 00:22:14 -07:00
Vicki Pfau 8410ea8b5f Qt: Fix deprecation warnings 2022-05-11 23:52:20 -07:00
Vicki Pfau a1ea2066f7 macOS: Update static Qt libs 2022-05-08 00:50:08 -07:00
Vicki Pfau 2a4dcace5b PSP2: Fix perf build too 2022-05-07 23:13:34 -07:00
Vicki Pfau 4fb8514254 PSP2: Fix build on recent vitasdk 2022-05-07 23:10:48 -07:00
Vicki Pfau e2ea9330aa macOS: Bump minimum to 10.9 2022-05-07 23:05:49 -07:00
Vicki Pfau 891af6a5f6 Windows: Reduce installer compression memory footprint 2022-05-07 20:31:13 -07:00
Vicki Pfau 0395994b6b SDL: Fix MSYS2 build 2022-05-04 14:51:51 -07:00
Vicki Pfau 8f133caec8 Debugger: Add command to load external symbol file (fixes #2480) 2022-05-01 22:29:31 -07:00
Vicki Pfau 492ba2478c Core: Fix crash if library can't be opened 2022-05-01 17:02:50 -07:00
Vicki Pfau 765cc08136 GB Video: Only apply SGBC VRAM hack on SGBC 2022-04-30 19:23:23 -07:00
Vicki Pfau 69d4518ad5 GB Video: Ignore OAM when doing SGB VRAM transfers (fixes #2503) 2022-04-22 18:51:44 -07:00
Vicki Pfau dcdd6d2dd2 GB Audio: Properly apply per-model audio differences 2022-04-22 02:59:15 -07:00
Vicki Pfau 979be972dc GB Video: Ignore CGB attributes when doing SGB VRAM transfers (fixes #2503) 2022-04-22 01:34:53 -07:00
Vicki Pfau f326d02e33 Qt: Boot both a multiboot image and ROM with CLI args (closes #1941) 2022-04-21 22:09:46 -07:00
Vicki Pfau b10a5b7f02 Qt: More flexible argv parsing 2022-04-21 21:31:13 -07:00
Vicki Pfau ce7e53d53d Qt: Add e-Card passing to the command line (closes #2474) 2022-04-21 19:41:49 -07:00
Vicki Pfau 4556d4b121 Feature: Modernize argument parsing API 2022-04-21 19:27:26 -07:00
Vicki Pfau 770b121b10 Qt: Handle relative DATADIR 2022-04-20 19:20:24 -07:00
Vicki Pfau 96fe40efc1 Qt: Fix build on older Qt 2022-04-20 19:20:24 -07:00
Vicki Pfau 1d23aa2085 Qt: Fix DATADIR for icons 2022-04-20 18:53:53 -07:00
Vicki Pfau ea8e67bf63 Qt: Update translations 2022-04-20 16:43:48 -07:00
Vicki Pfau 8258668d88 Qt: Mark more strings notr 2022-04-20 16:41:14 -07:00
Vicki Pfau af564adc85 Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2022-04-20 16:37:32 -07:00
Vicki Pfau e2f0437037 Travis: Good riddance 2022-04-12 22:39:04 -07:00
Vicki Pfau 5b7780620d Qt: Fix crash when clicking past last tile in viewer 2022-04-12 22:23:15 -07:00
Vicki Pfau 672867f1f6 Qt: Fix selecting tiles in OBJ-only view (fixes #2497) 2022-04-12 22:19:50 -07:00
Vicki Pfau 7093d083dd CMake: Load cache if using PRINT_STRING and variable isn't found 2022-04-10 19:20:34 -07:00
Vicki Pfau 8090c03dfb Qt: Support static build on Linux 2022-04-10 19:19:43 -07:00
Vicki Pfau 4a52c62f84 Wii: Fix name in meta.xml 2022-04-04 14:06:37 -07:00
Vicki Pfau 969d36d296 CHANGES: Remove bug that wasn't actually fixed 2022-04-03 16:02:14 -07:00
Vicki Pfau cb0b47406f GB MBC: Filter out MBC errors when cartridge is yanked (fixes #2488) 2022-04-03 15:55:34 -07:00
Vicki Pfau cdd3dcae0a Qt: Fix OpenGL-only build (fixes #2492) 2022-04-03 15:44:24 -07:00
Vicki Pfau 68533524d5 Qt: Fix some filename dialogs not checking for null return 2022-04-03 15:41:27 -07:00
Vicki Pfau 42275f93d3 Qt: Fix OBJ view item flags 2022-04-03 15:38:34 -07:00
Vicki Pfau 3d65b4b4aa CHANGES: Update 2022-04-03 15:33:25 -07:00
Vicki Pfau 7ace2ac14f Core: Fix non-debugger build 2022-04-03 02:58:03 -07:00
Vicki Pfau bc9bb43f88 Debugger: Add poll interrupting 2022-04-03 02:49:05 -07:00
Vicki Pfau 43f64852ad Qt: Update translations 2022-04-02 00:29:59 -07:00
Rafał Będźkowski 01d59069dd Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2022-04-02 00:27:05 -07:00
Luna Lyday dc06d517c9 Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2022-04-02 00:26:42 -07:00
Alex a032c02b35 Qt: Update translation (Russian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2022-04-02 00:26:30 -07:00
JeanDeLaMouche fc1ad942c2 Qt: Update translation (French)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/fr/
2022-04-02 00:26:17 -07:00
BrunoSXS 1dcdf14fb0 Toggle to show filename or gamename in library mode 2022-03-30 14:16:05 -07:00
Vicki Pfau 61e278d36e Qt: Fix alignment of size in library view (fixes #2485) 2022-03-28 18:27:19 -07:00
Vicki Pfau 5418bb066f Debugger: Add callback for updating while the runloop is suspended; use for GDB 2022-03-27 02:33:32 -07:00
Vicki Pfau e8f8dd429e Switch, 3DS: Disuse VFileFILE 2022-03-27 01:56:57 -07:00
Vicki Pfau deeeb8ea56 Wii: Support fake-mapping on VFileFD 2022-03-19 16:38:12 -07:00
Vicki Pfau c8302da954 Qt: Initial wave of Qt6 compat fixes 2022-03-15 15:34:56 -07:00
Vicki Pfau 50e0fe9972 Tools: Clean up snes-tile script 2022-03-11 19:22:00 -08:00
Vicki Pfau 4a158427ee GBA Video: Move bg clearing to reset 2022-03-10 23:55:12 -08:00
Vicki Pfau 095481ae2e GBA Video: Initialize offset values 2022-03-10 23:52:18 -08:00
Vicki Pfau 54bccfd2cd GB Audio: Mostly fix Telefang 2022-03-07 21:00:05 -08:00
Vicki Pfau 739d842129 GB Audio: Fix channel 1/2 reseting edge cases (fixes #1925) 2022-03-07 18:36:24 -08:00
Vicki Pfau eddd518a2c CInema: Integrate most blargg tests 2022-03-07 17:32:55 -08:00
Vicki Pfau 245a20b442 Qt: Fix clean build failing with Makefile generator 2022-02-28 23:48:25 -08:00
Vicki Pfau db9d0434e7 Qt: Attempt to fix build on OpenGL ES platforms 2022-02-28 22:59:47 -08:00
Vicki Pfau 467c620abc mGUI: Autosave less frequently when fast-forwarding 2022-02-27 21:18:10 -08:00
Vicki Pfau c284506c1b mGUI: Fix FPS counter after closing menu 2022-02-27 21:17:06 -08:00
Vicki Pfau 64d8dd1b69 GBA Cheats: Implement "never" type codes (closes #915) 2022-02-22 19:40:21 -08:00
Vicki Pfau 7d71396968 AppVeyor: Only build one config 2022-02-20 23:37:04 -08:00
S3aBreeze 7b6dd5b136 Qt: Update translation (Russian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2022-02-20 22:45:18 -08:00
Vicki Pfau 5f46364ef6 Windows: Attempt to fix building updater with MSVC 2022-02-20 22:44:37 -08:00
Vicki Pfau 862bd15afc GBA: Widen multiboot search 2022-02-20 21:27:42 -08:00
Vicki Pfau 91911fe092 GBA: Refine multiboot detection (fixes #2192) 2022-02-20 21:05:12 -08:00
Vicki Pfau 5b26099eac Qt: Show warning if XQ audio is toggled while loaded (fixes #2295) 2022-02-20 20:37:22 -08:00
Vicki Pfau 7c8a06816b GBA Video: Implement layer placement for OpenGL renderer (fixes #1962) 2022-02-20 19:45:13 -08:00
Vicki Pfau 5f3cb2f72f Vita: Add bilinear filtering option (closes #344) 2022-02-20 04:26:16 -08:00
Vicki Pfau f72e55c3f6 GB I/O: Remove pointless GBVideoProcessDots calls 2022-02-20 03:50:44 -08:00
Vicki Pfau 4ae540b387 Debugger: Save and restore CLI history 2022-02-20 03:49:59 -08:00
Adam Higerd 93a7ae395b style nits 2022-02-19 14:19:55 -06:00
Vicki Pfau a966511e1e GBA: Fix expected entry point for multiboot ELFs (fixes #2450) 2022-02-18 22:15:31 -08:00
Vicki Pfau 66f445cd0a GBA: Fix expected entry point for multiboot ELFs (fixes #2450) 2022-02-18 22:14:16 -08:00
Vicki Pfau ad00b2f883 Core: Fix the runloop resuming after a game has crashed (fixes #2451) 2022-02-18 22:09:14 -08:00
Vicki Pfau 751ab434f4 Qt: Add tile range selection to tile viewer, modernize layout (closes #2455) 2022-02-18 21:26:45 -08:00
Vicki Pfau cf06497456 GBA DMA: Enhanced logging (closes #2454) 2022-02-18 20:31:52 -08:00
Adam Higerd 2529ea6da4 Clean up rendering of logging grid checkboxes 2022-02-18 13:00:50 -06:00
Vicki Pfau a1945cb57a Qt: Update translations 2022-02-16 23:16:48 -08:00
Liu Wenyuan 39553ee9dd Qt: Update translation (Chinese (Simplified))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2022-02-16 23:16:48 -08:00
Vicki Pfau d0f9590999 Qt: Tweak OSD sizing 2022-02-16 23:16:48 -08:00
Vicki Pfau 5d6349338a Qt: Add status message for rewinding being disabled 2022-02-16 23:16:48 -08:00
Vicki Pfau 4312ce14ff Util: Failed file mapping should return NULL on POSIX 2022-02-16 23:16:48 -08:00
Vicki Pfau cea11fadc4 GBA BIOS: Fix warnings 2022-02-16 23:16:48 -08:00
Vicki Pfau 8289222c18 3DS: Update ifdef macros 2022-02-14 22:48:28 -08:00
Vicki Pfau e15911891c 3DS: Ensure writes update file modification time (fixes #2444) 2022-02-14 20:31:59 -08:00
Vicki Pfau 9cfa7120b1 Updater: Fix updating mGBA from a path with spaces on Windows 2022-02-11 20:30:38 -08:00
Vicki Pfau 6b48b53356 AppVeyor: So very, very tired 2022-02-11 19:44:57 -08:00
Vicki Pfau 13dee91ecc AppVeyor: I'm so tired 2022-02-10 22:20:09 -08:00
Vicki Pfau 285d915df8 Qt: Update translations 2022-02-10 21:15:08 -08:00
Vicki Pfau 982eeeb689 AppVeyor: vcpkg is terrible 2022-02-10 21:13:55 -08:00
Vicki Pfau 43817e7287 Python: CMake cleanup 2022-02-10 18:26:25 -08:00
Vicki Pfau 4f94849728 GBA: Automatically skip BIOS if ROM has invalid logo 2022-02-10 18:26:08 -08:00
Vicki Pfau 8ba146c0c4 AppVeyor: Only build release libs 2022-02-10 16:16:10 -08:00
Vicki Pfau cb8bdb4c48 Windows: Fix MSVC paths 2022-02-10 15:55:14 -08:00
T 72de9bd370 Qt: Update translation (Italian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2022-02-10 15:30:43 -08:00
Vicki Pfau 33792b20f8 Qt: Fix build 2022-02-10 14:43:48 -08:00
Vicki Pfau 006beb0704 SDL: Actually use FindSDL2 by default 2022-02-10 14:28:35 -08:00
Vicki Pfau 8ac1ece17a GB: Support for GBX ROMs 2022-02-10 14:25:21 -08:00
Vicki Pfau fcd2664761 GB: MBC cleanup 2022-02-10 14:23:56 -08:00
aldelaro5 6f697744d1 GDB Stub: allow to override GDB's handling logic of write watchpoint
Also allow to break on nonmodifying writes.
2022-02-09 21:52:50 -08:00
Vicki Pfau 5159d389a3 CInema: Fix writing 4-up where result and expected strides differ 2022-02-09 17:17:36 -08:00
Vicki Pfau 4f844bcdc3 GB: Fix BIOS skipping VRAM and palette for GBC 2022-02-09 17:17:36 -08:00
Vicki Pfau 0676769b68 GB MBC: Sachen MMC2 support 2022-02-08 18:36:12 -08:00
Vicki Pfau 73f18f8049 AppVeyor: Bump Qt 2022-02-07 23:21:28 -08:00
Vicki Pfau a5976e6c34 GB MBC: Sachen MMC1 support 2022-02-07 22:20:46 -08:00
Vicki Pfau 9b8a31a7a5 SDL: Fix static Windows build 2022-02-07 18:29:32 -08:00
Vicki Pfau 8c802991bb CInema: Fix new mooneye-gb failures 2022-02-07 14:27:23 -08:00
Vicki Pfau 2052e2cfe4 GB: Fix build 2022-02-07 14:08:35 -08:00
Vicki Pfau a9e6c0a659 SDL: Use FindSDL2 by default 2022-02-07 04:28:43 -08:00
Vicki Pfau 6c84f43c22 GB: Copy logo from ROM if not running the BIOS intro (fixes #2378) 2022-02-07 04:02:37 -08:00
Vicki Pfau 4d648c4f7c Windows: MSVC fixes 2022-02-07 00:57:46 -08:00
Vicki Pfau 0ff2d67317 README: Update 2022-02-07 00:47:35 -08:00
Vicki Pfau d33471e117 GB MBC: Add NT (new) support (closes #2435) 2022-02-06 21:44:55 -08:00
Vicki Pfau 31201d4903 FFmpeg: Fix build 2022-02-04 23:58:57 -08:00
Vicki Pfau 26aea8544f GB MBC: Initial HuC-3 save format 2022-02-04 23:48:27 -08:00
Vicki Pfau c829cd2e70 GB MBC: Improved support for HuC-3 mapper 2022-02-04 02:32:07 -08:00
Vicki Pfau e2040146ea Qt: Enable -b for Boot BIOS menu option (fixes #2074) 2022-02-04 02:32:07 -08:00
Vicki Pfau 73efec2a02 GBA Video: Fix rare crash in modes 3-5 2022-02-04 02:32:07 -08:00
Ryan Tandy cdc7535167 FFmpeg: Support FFmpeg 5.0 2022-02-03 20:43:40 -08:00
Vicki Pfau 667dffe515 Qt: Support for multiple saves per game using .sa2, .sa3, etc. 2022-01-30 17:49:37 -08:00
Vicki Pfau 16df8fe957 GBA Video: Clean up flag calculation 2022-01-30 14:57:32 -08:00
Vicki Pfau 16125e8623 GBA Video: Use constant for enable scanline delay max 2022-01-30 14:57:32 -08:00
Vicki Pfau 4e9389eba6 Test: Add GB support to ROM tester; cleanup 2022-01-30 14:57:32 -08:00
Vicki Pfau d071bffe0a GBA Video: Fix Hblank timing (fixes #2131, #2310) 2022-01-26 18:26:56 -08:00
Vicki Pfau 1d8141e1fd GB Serialize: Fix loading MBC1 states that affect bank 0 (fixes #2402) 2022-01-22 18:12:58 -08:00
Vicki Pfau 6f4398a3b9 GBA BIOS: Initial HLE timing estimation of UnLz77 functions (fixes #2141) 2022-01-22 18:12:58 -08:00
Vicki Pfau d1bc394ca3 GBA Video: Ignore horizontally off-screen sprite timing (fixes #2391) 2022-01-22 04:34:48 -08:00
Vicki Pfau c41d1e18dc Qt: Refactoring, remove sync options from menu 2022-01-22 04:25:17 -08:00
Vicki Pfau bcb3e60f67 Qt: Make separate save games submenu 2022-01-22 04:25:17 -08:00
Vicki Pfau b2c349a4a3 Core: Passing -b should force-enable BIOS 2022-01-21 20:56:43 -08:00
Vicki Pfau 8a310dcfed FFmpeg: Fix GIF recording (fixes #2393) 2022-01-20 23:49:56 -08:00
Vicki Pfau fff87985fe GB, GBA: Save writeback-pending masked saves on unload (fixes #2396) 2022-01-20 22:30:04 -08:00
Vicki Pfau ee68e9742d GB: Fix temporary saves 2022-01-20 22:30:04 -08:00
Vicki Pfau b127178377 GB: More selective savegame dirt, unify logic 2022-01-20 22:30:04 -08:00
aldelaro5 8564f5fef4 GDB Stub: Add target descriptior and memory map xml
This allows gdb to know the memory mapping as well as the architecture once connected. It also allows us to not send dummy data for the fpr because we explicitly do not mention them.
2022-01-20 20:03:53 -08:00
aldelaro5 27809bd1a3 GDB Stub: use only hardware breakpoints regardless of GDB's request
This will ignore GDB's request for a software breakpoint as they can be very unreliable in determining whether it should be thumb or ARM.
2022-01-20 20:00:40 -08:00
Vicki Pfau d4f1838a4a Qt: Don't use bind with templated return type when void needed 2022-01-20 19:19:37 -08:00
Vicki Pfau a3ccb49e5d Qt: Update year 2022-01-20 18:39:48 -08:00
Vicki Pfau e3ea64ad65 Qt: Use MenuRole with QActions 2022-01-20 18:34:50 -08:00
Vicki Pfau 24a41d8453 Qt: Different frame time overheads per OS 2022-01-20 18:13:34 -08:00
Vicki Pfau 1f53174270 GBA Video: Bump OpenGL requirement to 3.3 (closes #2425) 2022-01-20 18:10:53 -08:00
Vicki Pfau ddca55347e GBA Video: Fix OpenGL rendering on M1 Macs 2022-01-19 23:06:19 -08:00
Vicki Pfau 506424286f Qt: Tighten OpenGL timing variance 2022-01-19 19:36:21 -08:00
Vicki Pfau b6e2faaba9 Qt: Add QOpenGLWidget cross-thread codepath for macOS (fixes #1754) 2022-01-19 19:36:21 -08:00
Felix Jones c4e481c110
GBA code unit testing front-end (#2411) 2022-01-18 13:36:51 -08:00
Vicki Pfau 851b01be15 Qt: Add optional emulation-related information on reset (closes #1780) 2022-01-17 01:55:08 -08:00
Vicki Pfau 006dba7d69 Qt: Add optional frame counter to OSD (closes #1728) 2022-01-17 01:55:08 -08:00
Vicki Pfau b512d6d455 Qt: Redo message painter sizing 2022-01-17 01:04:28 -08:00
Vicki Pfau 9b6b7c7392 GBA DMA: Fix DMA source direction bits being cleared (fixes #2410) 2022-01-15 20:32:50 -08:00
Vicki Pfau 9a85fc8a5a Core: Frame counter should be unsigned 2022-01-15 15:30:41 -08:00
Vicki Pfau cb0af1b77b GBA: Remove obsolete RTC API 2022-01-15 15:29:40 -08:00
Vicki Pfau cff269332e AppVeyor: Attempt to fix 2022-01-14 01:31:28 -08:00
Vicki Pfau 76438391a1 Windows: Attach to console if present 2022-01-14 01:09:45 -08:00
Vicki Pfau 881dd11bf2 GB Video: Add default SGB border 2022-01-13 21:51:53 -08:00
Vicki Pfau 70f75bba49 GB Video: Draw SGB border pieces that overlap GB graphics (fixes #1339) 2022-01-13 18:07:01 -08:00
Vicki Pfau ca0cfa077e CMake: Clean up ref names in git branch string (fixes #2421) 2022-01-13 16:29:42 -08:00
Vicki Pfau e9ff76c97b OpenGL: Allow mGLES2Context to draw to a framebuffer 2022-01-13 15:41:17 -08:00
Vicki Pfau a9ef7af3b1 GBA BIOS: Change fix for #1059 to break fewer games 2022-01-10 14:05:39 -08:00
Vicki Pfau eef3b5a57c Qt: Begin adding control info to report view 2022-01-10 13:06:03 -08:00
Vicki Pfau 54f89fec1e CMake: Add missing compile definitions to updater-stub 2022-01-10 12:21:28 -08:00
Rafał Będźkowski 1644132ce7 Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2022-01-09 19:48:08 -08:00
Luna Lyday cf69bad59b Qt: Update translation (Polish)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2022-01-09 19:48:08 -08:00
Vicki Pfau 554019c6e8 Qt: Update translations 2022-01-09 19:39:08 -08:00
Vicki Pfau 9335a82afb Qt: Use appropriate update dialog for if stuff can auto-update 2022-01-09 19:38:06 -08:00
Vicki Pfau 3402c151e6 Qt: Rephrase save fail error 2022-01-09 19:24:42 -08:00
Vicki Pfau 0d34386e7a mGUI: Add way of viewing entered code in cheat view 2022-01-09 15:06:24 -08:00
Vicki Pfau 27d59e5ed6 mGUI: Add read-only menu items 2022-01-09 15:05:57 -08:00
Vicki Pfau 899fbdf1e4 3DS: Fix warnings 2022-01-09 00:11:53 -08:00
Vicki Pfau 46a3f9ead8 Wii: Cursor support in OSK 2022-01-05 22:46:29 -08:00
Vicki Pfau 9f0d184e4b Wii: Add text cursor 2022-01-05 22:10:01 -08:00
Vicki Pfau f176c096b0 Wii: Initial OSK implementation 2022-01-05 00:29:45 -08:00
Vicki Pfau d96a19420d GBA I/O: Disable open bus behavior on invalid register 06A 2022-01-04 16:43:30 -08:00
Vicki Pfau 13fab18fcc Libretro: Fix invalid options 2022-01-04 03:57:41 -08:00
Vicki Pfau ea1abe2fcc Core: Add creator metadata extdata to savestates 2022-01-04 03:55:28 -08:00
Vicki Pfau 398ee0c827 GB I/O: Fix erroneously added registers 2022-01-04 03:49:43 -08:00
Vicki Pfau 0313fedf10 Qt: Save positions of multiplayer windows (closes #2128) 2021-12-28 17:56:43 -08:00
Vicki Pfau ee610db141 GBA BIOS: Work around IRQ handling hiccup in Mario & Luigi (fixes #1059) 2021-12-28 17:12:22 -08:00
Vicki Pfau 23a815b99c GB I/O: Add placeholder names for some unimplemented registers 2021-12-28 15:27:25 -08:00
Alexey cb9f736f2a Qt: Update translation (Russian)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2021-12-21 20:44:15 -08:00
Vicki Pfau 6c42e2a834 Qt: Update translations 2021-12-21 20:39:38 -08:00
Vicki Pfau a1641f7fae GBA Savedata: Add GSV importing 2021-12-21 20:36:18 -08:00
Vicki Pfau b5e94b0abb FFmpeg: Fix crash when encoding audio with some containers 2021-12-18 15:48:57 -08:00
Vicki Pfau 354f898a03 CHANGES: Release 0.9.3 2021-12-17 17:57:13 -08:00
Vicki Pfau a18f8d7063 Res: Update patrons for November 2021-12-17 17:51:57 -08:00
Vicki Pfau 9878e2e780 Libretro: Add support for GCB and SGB palette presets 2021-12-12 21:45:42 -08:00
Vicki Pfau f7d594a8b5 Libretro: Partially resync with downstream 2021-12-12 21:30:07 -08:00
Vicki Pfau 2f8526a0b1 CInema: Add keyirq test 2021-12-06 12:52:47 -08:00
Vicki Pfau fa2975a4ab GBA Serialization: Serials key IRQ state, update docs 2021-12-06 12:38:08 -08:00
Vicki Pfau e224b45576 GBA: Correct key IRQ edge behavior 2021-12-06 12:37:38 -08:00
Vicki Pfau 10458aea67 GB Video: Fix writing to SGBC transparent BG colors (fixes #2367) 2021-12-05 14:32:18 -08:00
Vicki Pfau c39f2ccb78 All: Use mCoreConfigGetBoolValue 2021-12-02 18:07:49 -08:00
Vicki Pfau 58ddecb830 Core: Add mCoreConfigGetBoolValue 2021-12-02 17:55:02 -08:00
Vicki Pfau 603de394d8 mGUI: Refactor menu code into separate functions 2021-11-29 23:11:17 -08:00
Vicki Pfau c9e1b78426 mGUI: Fix crash if autosave file can't be opened (fixes #2268) 2021-11-29 14:09:14 -08:00
Vicki Pfau 283196ceb3 Qt: Save converter now supports importing SharkPort saves 2021-11-29 14:09:14 -08:00
Lorenzooone d42a13c4b6
[SDL]: Add logFile support (#2345) 2021-11-29 01:55:01 -08:00
nia eeeefa4532
NetBSD build fixes (#2366) 2021-11-29 01:53:18 -08:00
François Berder c3746d629f
Debugger: Fix buffer overflow in _doTrace (#2361) 2021-11-24 13:29:26 -08:00
Vicki Pfau cf5d85ac05 Qt: Fix build 2021-11-18 23:25:11 -08:00
Vicki Pfau 0086599290 Qt: Do some basic filtering on too-minimal OpenGL 1.x implementations 2021-11-18 23:21:04 -08:00
Vicki Pfau dfd44b280f Qt: Pay down technical debt with map caches 2021-11-17 17:52:25 -08:00
Vicki Pfau fdd03e505e GBA Video: Fix cache updating with proxy and GL renderers 2021-11-17 17:51:16 -08:00
Vicki Pfau 4b4eef373f SDL: Use SDL_JoystickRumble where available 2021-11-16 19:06:12 -08:00
Lothar Serra Mari e8f3db4b3e Win32: Add Inno Setup target for the ARM64 platform 2021-11-15 01:59:46 +01:00
Vicki Pfau e60f0660a4 GB Timer: Fix priorties on events 2021-11-13 20:44:07 -08:00
Vicki Pfau 858267da3f GBA: Add flag to allow opposing inputs in key callbacks (fixes #2334) 2021-11-10 13:12:55 -08:00
Vicki Pfau d2bf28b871 Qt: Fix focus mute an fast-forward mute interfering 2021-11-09 21:59:10 -08:00
Akatsuki 48fe88ce36 Qt: Update translation (Japanese)
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ja/
2021-11-09 15:56:31 -08:00
Vicki Pfau e68827645e Qt: Update translations 2021-11-09 15:54:25 -08:00
Vicki Pfau 1b71a64c51 Qt: Fix sprite compositing when sprite tiles go out of bounds (fixes #2348) 2021-11-09 15:53:32 -08:00
Vicki Pfau 71b616a9c2 GBA: Fix maximum tile ID in caching for 256-color modes 2021-11-09 15:51:31 -08:00
Vicki Pfau 53c7f6f50a ARM Decoder: Fix decoding of lsl r0 (fixes #2349) 2021-11-09 15:15:18 -08:00
ahigerd 59cb5c189a
Fix "English" language name (#2342) 2021-11-01 11:48:43 -07:00
Fletcher Porter a997e2b6dc [debugger] Silence a -Wswitch warning out of gdb-stub.c
No one likes unhandled branches, and the compiler was just kindly reminding us
to take care of them.  Well, remind us no more, compiler.
2021-10-15 12:29:04 -07:00
Fletcher Porter 85e975c7af [SIO] Fix a -Wswitch warning out of lockstep.c
The compiler was complaining of unhandled branches, but a new `default` case
solves that.
2021-10-15 00:08:57 -07:00
Vicki Pfau f696619b11 GBA I/O: Redo internal key input, enabling edge-based key IRQs 2021-10-14 01:59:59 -07:00
Vicki Pfau 511a061ab0 GBA I/O: Update KEYINPUT in internal I/O memory (fixes #2235) 2021-10-14 01:46:55 -07:00
Vicki Pfau b4f4f2b0fa Wii: Add adjustable gyroscope settings (closes #2245) 2021-10-12 14:38:01 -07:00
shuffle2 40d4c430fc msvc : fix compilation for c11/c17 lang standards
msvc currently supports up to c17 but does not implement some optional features. see https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-160 and https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?view=msvc-160
2021-09-30 13:57:34 -07:00
Vicki Pfau 0252c370f2 Qt: Mark more strings as untranslatable 2021-09-28 23:42:24 -07:00
Vicki Pfau 3a3e9cd0f6 Qt: Update translations 2021-09-28 23:28:15 -07:00
Jaime R b3a7b4a098 Qt: Update translation (Spanish)
Currently translated at 96.8% (1064 of 1099 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2021-09-28 23:24:55 -07:00
Sjouke Yntema e41ec9a6ca Qt: Update translation (Dutch)
Currently translated at 6.8% (75 of 1099 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/nl/
2021-09-28 23:24:55 -07:00
Dmitry 603fa7c26e Qt: Update translation (Russian)
Currently translated at 44.0% (484 of 1099 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2021-09-28 23:24:55 -07:00
lightmanLP 0e5754b0c8 Qt: Update translation (Russian)
Currently translated at 44.0% (484 of 1099 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2021-09-28 23:24:55 -07:00
S3aBreeze 8c79430c5d Qt: Update translation (Russian)
Currently translated at 42.5% (468 of 1099 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2021-09-28 23:24:55 -07:00
Alexey 1b696e45b2 Qt: Update translation (Russian)
Currently translated at 29.4% (324 of 1099 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2021-09-28 23:22:16 -07:00
王晨旭 1b6c0a7545 Qt: Update translation (Chinese (Simplified))
Currently translated at 92.9% (1021 of 1099 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2021-09-28 23:22:16 -07:00
Liu Wenyuan 2e3a30abd6 Qt: Update translation (Chinese (Simplified))
Currently translated at 87.8% (966 of 1099 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2021-09-28 23:19:08 -07:00
Vicki Pfau 669fb5232b GBA Video: Improve BG enable latching 2021-09-28 12:49:39 -07:00
aldelaro5 6a05dba879 gdb-stub: Add support for the T command by faking it 2021-09-27 17:02:35 -07:00
Vicki Pfau 45444d5ea3 Qt: Fix corrupted savestate and fatal error text 2021-09-23 22:30:13 -07:00
Vicki Pfau 1c486cc30b Python: Attempt to fix issues with _pyLog 2021-09-23 22:09:40 -07:00
Vicki Pfau ca91489e00 GBA Video: Delay enabling backgrounds in bitmap modes (fixes #1668) 2021-09-22 15:59:41 -07:00
Vicki Pfau 2d4294e417 GBA Video: Don't iterate affine backgrounds when disabled 2021-09-22 15:59:41 -07:00
Vicki Pfau 86fe869087 ARM7: Fix unsigned multiply timing 2021-09-20 15:59:28 -07:00
Vicki Pfau 1aa5f1b9ff mGUI: Blacklist .cheats extension for ROMs 2021-09-14 11:48:58 -07:00
Vicki Pfau 2ac6920238 GBA Memory: Fix misaligned 32-bit I/O loads (fixes #2307) 2021-09-14 11:00:34 -07:00
Vicki Pfau 45e81d0ecc GBA Video: Fix build on macOS 2021-09-11 13:48:25 -07:00
Vicki Pfau c1c931c61f SDL: Add sensor support for controllers with SDL 2.0.14+ 2021-09-10 18:23:32 -07:00
Vicki Pfau 9430913ba3 mGUI: Fix metrics on backtick 2021-09-09 14:30:08 -07:00
Vicki Pfau f603fcdb72 mGUI: Add 9-slice drawing 2021-09-09 14:30:08 -07:00
Vicki Pfau 337ca2cfaf GB I/O: Fix incrementing SGB controller when P14 is low (fixes #2202) 2021-09-05 12:20:46 -07:00
Vicki Pfau f2f75b3b00 Qt: Only use a QPainter with OpenGL is the OSD is enabled 2021-09-04 22:13:09 -07:00
Vicki Pfau 19c57e0c19 Vita: Build fixes 2021-08-30 17:24:54 -07:00
Vicki Pfau c217802829 OpenGL: Buildfixes and CMake cleanup 2021-08-28 22:29:27 -07:00
Vicki Pfau bc37f48e29 CMake: Attempt to fix #1839 again 2021-08-28 22:05:49 -07:00
Vicki Pfau c6167470eb All: Fix indentation errors 2021-08-26 03:35:19 -07:00
Vicki Pfau 5c3229b4fa Updater: MacOS fixes 2021-08-22 23:05:22 -07:00
Vicki Pfau 250262bfe7 Updater: Partial macOS support 2021-08-22 22:31:39 -07:00
gifvex 143a336b04 CInema: Fix Windows/MSYS2 build 2021-08-22 17:44:48 -07:00
Vicki Pfau 80a502bcc9 CMake: Yet more MSVC buildfixes 2021-08-22 15:01:40 -07:00
Vicki Pfau 7398eb5d72 Updater: More MSVC build fixes 2021-08-22 02:40:58 -07:00
Vicki Pfau 000be71c5a FFmpeg: Remove disused fields 2021-08-21 18:29:46 -07:00
Vicki Pfau 0e0ce67778 FFmpeg: Stop using deprecated AVPacket API 2021-08-21 18:29:46 -07:00
Vicki Pfau c18bc1baa5 FFmpeg: Use refcounted buffers for frame data 2021-08-21 18:29:46 -07:00
Vicki Pfau 2ade2f9217 FFmpeg: Drop support for libavcodec 54 and below 2021-08-21 18:07:59 -07:00
Vicki Pfau 471e55f7de FFmpeg: Don't attempt to use YUV 4:2:0 for lossless videos (fixes #2084) 2021-08-21 17:42:29 -07:00
Vicki Pfau 96e1ae4272 CMake: Bring up DMG distribution on macOS 2021-08-20 21:27:13 -07:00
Vicki Pfau e107d90772 CMake: Small naming and packaging updates 2021-08-20 21:25:15 -07:00
Vicki Pfau ebc78cf3ea mGUI: Add margin to right-aligned menu text (fixes #871) 2021-08-19 18:22:59 -07:00
Vicki Pfau 7c57a5cc13 Updater: Fix MSVC build 2021-08-17 20:01:06 -07:00
Vicki Pfau 0d826bfba4 GBA Video: Swap priority and window rendering order 2021-08-17 16:24:59 -07:00
Vicki Pfau 9355def316 Libretro: Fix crash when using Game Boy codes (fixes #2281) 2021-08-17 16:16:23 -07:00
Vicki Pfau 2fec366076 CMake: Fix regression searching for localtime_r on Linux (fixes #2276) 2021-08-13 22:41:48 -07:00
Lothar Serra Mari 9ef2c88ed3 Qt: Update German GUI translation 2021-08-11 20:50:28 +02:00
Vicki Pfau 45e944e2b9 Qt: Update translations 2021-08-10 23:52:44 -07:00
Vicki Pfau de376a99bf Qt: Fix lupdate complaints 2021-08-10 23:52:08 -07:00
Hexaae cdf0d774ab Qt: Update translation (Italian)
Currently translated at 100.0% (1076 of 1076 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2021-08-10 23:49:24 -07:00
Sjouke Yntema b33d7c0361 Qt: Update translation (Dutch)
Currently translated at 0.1% (2 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/nl/
2021-08-10 23:49:22 -07:00
Vicki Pfau 4552c9c33e Windows: Fix MSVC build 2021-08-10 23:14:45 -07:00
Vicki Pfau 399a58161b Qt: Add missing file 2021-08-10 22:13:59 -07:00
Vicki Pfau 2d5f6dd675 All: Add updater stub and hook it into the Qt frontend 2021-08-10 22:09:24 -07:00
Vicki Pfau 4a7feb66f9 Qt: Add update checking infrastructure 2021-08-10 22:04:46 -07:00
Adam Higerd 03e35cc7c6 Don't make the top-left square of the logging grid checkable 2021-08-10 20:11:20 -07:00
Vicki Pfau 4e4adf7a72 AppVeyor: Clean more directories 2021-08-10 16:25:40 -07:00
Vicki Pfau 06318fbdd2 GB Video: Render SGB border when unmasking with ATTR/PAL_SET (fixes #2261) 2021-07-28 22:32:12 -07:00
Vicki Pfau c2f40b88ef GBA Video: Fix backdrop color if DISPCNT is first set to 0 (fixes #2260) 2021-07-27 19:14:53 -07:00
Vicki Pfau 9d3b4459ee GB Video: Fix memory leak when reseting SGB games 2021-07-23 18:13:43 -07:00
Vicki Pfau 37c4e08ba5 Qt: Update translation (Italian)
Currently translated at 99.0% (1066 of 1076 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2021-07-19 20:58:24 -07:00
Vicki Pfau 4ab0512874 CInema: Fix memory issues in 4-ups 2021-07-13 22:01:32 -07:00
Vicki Pfau 935b5e40d9 CMake: Fix build on BSD 2021-07-13 21:59:19 -07:00
Vicki Pfau 74758fc3c3 Util: Detect futimens/futimes instead of guessing 2021-07-13 21:35:17 -07:00
Vicki Pfau de4ea9284d CMake: Clean up function detection technical debt 2021-07-13 21:35:17 -07:00
Vicki Pfau d996633b12 Core: Remove dead code 2021-07-13 21:35:17 -07:00
Lothar Serra Mari 617bb0a093 Qt: Update German GUI translation 2021-07-11 15:32:41 +02:00
Vicki Pfau 9cccc5197e CHANGES: Update for 0.9.2 2021-07-10 20:00:35 -07:00
Vicki Pfau 3392f86dcb Qt: Fix bounded fast forward with enhancement OpenGL renderer 2021-07-10 16:39:12 -07:00
Vicki Pfau 9eefc85b64 Switch: Fix build on latest libnx 2021-07-09 22:22:21 -07:00
Vicki Pfau d202cddd1b Qt: Reuse timer when rescheduling missing frames 2021-07-09 02:47:13 -07:00
Vicki Pfau dbefc1cad6 Res: Update patrons for June 2021-07-04 17:11:35 -07:00
Vicki Pfau 558f644fd3 CInema: Add 4-up diffs 2021-07-03 20:23:36 -07:00
Vicki Pfau ed337c3de1 CInema: Add basic crash handling 2021-07-01 23:24:51 -07:00
Vicki Pfau ece0e168ef mGUI: Pressing confirm should only advance valid states if the data is a string 2021-07-01 22:15:29 -07:00
Vicki Pfau 801033020a GBA I/O: Fix deserializing audio on big endian 2021-07-01 22:15:29 -07:00
Vicki Pfau 0352125cad GBA Video: Backport many rendering changes from medusa 2021-06-30 00:03:41 -07:00
Vicki Pfau de16ea49c7 Qt: Redo sensor binding to be less fragile 2021-06-28 22:38:25 -07:00
Vicki Pfau 9a26c1a679 mGUI: Use variants for menu data 2021-06-28 21:13:05 -07:00
Vicki Pfau e3ad33366b Qt: Add time elapsed to Discord Rich Presence (closes #2225) 2021-06-28 15:41:58 -07:00
Vicki Pfau d9627e3623 GBA SIO: Add more missing NORMAL8 implementation bits (fixes #2044) 2021-06-28 15:22:07 -07:00
Vicki Pfau 6c6d498817 GBA: Improve timing when not booting from BIOS 2021-06-28 13:35:04 -07:00
Vicki Pfau 7dce4be2e2 GBA Serialize: Fix loading audio enable bit late (fixes #2230) 2021-06-27 22:37:01 -07:00
Vicki Pfau f14abdf749 Qt: Mark some Cheats strings as untranslatable 2021-06-25 15:06:11 -07:00
tdayris-perso 59eaceb148 Qt: Update translation (French)
Currently translated at 84.0% (902 of 1073 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/fr/
2021-06-24 20:25:55 -07:00
Enes Y d17986aa41 Qt: Update translation (Turkish)
Currently translated at 100.0% (1070 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/tr/
2021-06-24 20:25:49 -07:00
Vicki Pfau c785340ea9 Qt: Add options to mute inactive or non-P1 multiplayer windows (fixes #857) 2021-06-24 20:20:49 -07:00
Vicki Pfau 14419282f4 Qt: Add options to mute on minimize or focus lost 2021-06-24 17:57:49 -07:00
Vicki Pfau fee40bc74d Res: Port scale2x an scale4x shaders 2021-06-24 17:35:16 -07:00
Vicki Pfau 1d9bc4c3f7 CInema: Fix renamed MBC1 RAM tests 2021-06-23 21:21:29 -07:00
Vicki Pfau 78d3a1f17e GB Memory: Add cursory cartridge open bus emulation (fixes #2032) 2021-06-23 20:34:11 -07:00
Vicki Pfau dc40ef7cb8 Qt: Fix library loading rejecting non-GBA games (fixes #2175) 2021-06-23 19:05:28 -07:00
Vicki Pfau c6aa7c6673 mGUI: Cache save state screenshot validity in state menu (fixes #2005) 2021-06-23 18:53:34 -07:00
Enes Y ccafcf7bdc Qt: Update translation (Turkish)
Currently translated at 100.0% (1070 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/tr/
2021-06-20 00:46:25 -07:00
Vicki Pfau b1ff578201 Qt: Only set default controller bindings if loading fails (fixes #799) 2021-06-20 00:34:45 -07:00
Vicki Pfau feb22a2bda README: Drop Windows Vista mention 2021-06-19 17:41:30 -07:00
Vicki Pfau 3a26c94eee Qt: Decrease early-sync timeout 2021-06-19 14:58:01 -07:00
Vicki Pfau 645034a89e GB Audio: Fix audio channel 4 being slow to deserialize 2021-06-19 14:02:37 -07:00
Vicki Pfau 34fed8086c GBA Memory: Fix prefetch mask when swapping modes within a region 2021-06-18 01:00:18 -07:00
Vicki Pfau 3f4d2f6086 Core: Don't attempt to restore rewind diffs past start of rewind 2021-06-17 00:20:29 -07:00
Enes Y d1ce973756 Qt: Update translation (Turkish)
Currently translated at 100.0% (1070 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/tr/
2021-06-16 00:31:38 -07:00
Edson Armando 8a22a9f7e6 Qt: Update translation (Spanish)
Currently translated at 100.0% (1070 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2021-06-16 00:31:38 -07:00
Vicki Pfau 599b79390c Qt: Update translation (Polish)
Currently translated at 11.3% (121 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pl/
2021-06-16 00:31:38 -07:00
Vicki Pfau 3e194b59d9 Qt: Update translation (Malay)
Currently translated at 55.4% (593 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ms/
2021-06-16 00:31:38 -07:00
Yuri Kunde Schlesner bd5692fdc1 Qt: Update translation (Portuguese (Brazil))
Currently translated at 100.0% (1070 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2021-06-15 20:51:32 -07:00
Felipe 61cfbb3c92 Qt: Update translation (Portuguese (Brazil))
Currently translated at 100.0% (1070 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2021-06-15 20:51:32 -07:00
Yuri Kunde Schlesner f1bc1b1fa9 Qt: Update translation (Portuguese (Brazil))
Currently translated at 100.0% (1070 of 1070 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2021-06-15 20:51:32 -07:00
Vicki Pfau ed23ae3ef7 GBA SIO: Fix SI value for unattached MULTI mode 2021-06-15 20:51:32 -07:00
Vicki Pfau 8c3f7eb228 GBA SIO: Fix missing interrupt on an unattached NORMAL transfer 2021-06-15 20:51:32 -07:00
Lothar Serra Mari 0c1dd64e5b Qt: Update German GUI translation 2021-06-13 09:21:39 +02:00
Vicki Pfau 9cddd4d006 CMake: Fix macOS version detection 2021-06-12 22:17:59 -07:00
Vicki Pfau b97f97159d Qt: Fix having to press controller buttons twice for menu items (fixes #2143) 2021-06-12 17:07:32 -07:00
Vicki Pfau d85589b837 Core: Fix portable mode on macOS 2021-06-10 00:09:21 -07:00
Vicki Pfau 588186531c CMake: MacOS cleanup 2021-06-10 00:09:20 -07:00
Vicki Pfau 3e1793d3f8 GBA Savedata: Support for 64 kiB SRAM saves 2021-06-07 18:47:22 -07:00
Vicki Pfau 02a15a72c0 Qt: Add missing EEPROM 8kB string 2021-06-07 18:46:45 -07:00
Vicki Pfau e17357a50a ARM Debugger: Fix disassembly alignment (fixes #2204) 2021-06-04 21:01:07 -07:00
Vicki Pfau 38d55d9b6d Qt: Text interaction and font cleanup 2021-06-04 20:01:57 -07:00
Vicki Pfau f1ec80889d Qt: Clean up cheats dialog 2021-06-04 19:45:03 -07:00
Vicki Pfau 8ea9747021 Qt: Minor .ui updates 2021-06-04 18:22:40 -07:00
Vicki Pfau 31fd8c2705 Libretro: Add GB palette setting 2021-06-04 18:21:54 -07:00
Felipe a507276e25 Add files via upload 2021-05-30 13:42:40 -07:00
Felipe e32da31dc2 Updated translation
Updated brazilian portuguese translation.
2021-05-30 13:42:40 -07:00
Vicki Pfau 3159f2ec56 Core: Fix memory searches for relative values (fixes #2135) 2021-05-22 21:49:17 -07:00
Rik Smeets b78f47b214 mGUI: Add fast forward mute 2021-05-21 13:07:58 -07:00
Vicki Pfau 86ec2d4d22 mGUI: Fix SDF font fast-forward and mute icons 2021-05-16 23:47:53 -07:00
Szabó Zsolt 9f24c96ded Qt: Update translation (Hungarian)
Currently translated at 15.8% (169 of 1064 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/hu/
2021-05-14 23:18:10 -07:00
Szabó Zsolt e41b755ebf Qt: Added translation (Hungarian) 2021-05-14 23:18:10 -07:00
K. Herbert c0b0b6b009 Qt: Update translation (French)
Currently translated at 85.2% (905 of 1061 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/fr/
2021-05-14 23:18:10 -07:00
K. Herbert c2118cd336 Qt: Update translation (German)
Currently translated at 100.0% (1061 of 1061 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
2021-05-14 23:18:10 -07:00
T 31884a4c17 Qt: Update translation (Italian)
Currently translated at 97.2% (1035 of 1064 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2021-05-14 23:18:00 -07:00
Allan Nordhøy cbf68cec58 Qt: Update translation (Norwegian Bokmål)
Currently translated at 25.9% (276 of 1064 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/nb_NO/
2021-05-14 23:18:00 -07:00
Adolfo Jayme Barrientos 284de9b804 Qt: Update translation (Spanish)
Currently translated at 99.8% (1062 of 1064 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2021-05-14 23:17:50 -07:00
Vicki Pfau aface501a1 CHANGES: Update 2021-05-14 23:02:59 -07:00
Vicki Pfau 457be627f0 Qt: Fix non-Multimedia build (fixes #2180) 2021-05-14 23:01:12 -07:00
Vicki Pfau 0865b8911e GBA SIO: Add missing NORMAL8 implementation bits (fixes #2172) 2021-05-14 22:59:18 -07:00
Vicki Pfau 96988133b2 3DS: Fix build 2021-05-09 23:42:52 -07:00
Vicki Pfau 219da4538e 3DS: Remember to init cfg:u when querying model 2021-05-09 23:21:24 -07:00
Vicki Pfau d990f9bdb7 Qt: Fix crash in sprite view for partially out-of-bounds sprites (fixes #2165) 2021-05-09 01:46:11 -07:00
Vicki Pfau cce8ab2cd1 GB: Add missing override for Mario & Yoshi 2021-05-08 17:39:25 -07:00
Vicki Pfau d14d0f070c Qt: Update translations 2021-05-08 16:24:54 -07:00
Vicki Pfau 1640d00e87 GB: Add SGB palettes, options for selecting which palettes 2021-05-08 16:23:52 -07:00
Vicki Pfau 38c8ff241e GB: Add GB Light palette 2021-05-08 15:31:17 -07:00
Vicki Pfau ddf0178c4c GB: Add SGB color palettes 2021-05-08 02:31:48 -07:00
Vicki Pfau e00987ddeb GB: Support for combo "Super Game Boy Color" SGB + GBC ROM hacks 2021-05-07 14:37:19 -07:00
Vicki Pfau c633d08076 GB Video: Clear VRAM on reset (fixes #2152) 2021-05-07 00:44:49 -07:00
Vicki Pfau b9931de1bf GB Core: Fix VRAM and WRAM bank sizes 2021-05-07 00:42:44 -07:00
Vicki Pfau 6b99d319fb GB Core: Fix GBC colors setting breaking default model overrides (fixes #2161) 2021-05-06 13:22:04 -07:00
Vicki Pfau 2a316ee1dc Core: Suspend runloop when a core crashes 2021-05-06 00:14:10 -07:00
Vicki Pfau 29115e711b Util: Improve speed of UPS patch loading 2021-05-02 23:18:13 -07:00
Vicki Pfau 3809876179 GBA: Fix some patch loading edge cases 2021-05-02 23:17:24 -07:00
Vicki Pfau e25efac5fb Util: Fix loading UPS patches that affect the last byte of the file 2021-05-02 23:17:24 -07:00
Vicki Pfau e0db333ea3 GB Core: Support reloading palette at runtime 2021-05-02 17:33:44 -07:00
Vicki Pfau ad14408739 mGUI: Add GB palette overrides 2021-05-02 16:41:12 -07:00
Vicki Pfau 6c3fb29d53 mGUI: Add arrow keys to symbol and add unicode codepoints 2021-05-02 16:37:00 -07:00
Vicki Pfau f37c72044e GB: Fix and rename palettes 2021-05-02 10:56:37 -07:00
Bonta-kun 2f4feb6b53 GBA IO: Serialize JOY_RECV_HI and JOY_TRANS_HI 2021-05-01 19:44:11 -07:00
Vicki Pfau 925a13ac50 Qt: Update translations 2021-05-01 19:32:40 -07:00
Vicki Pfau a713d51e05 GB: Presets for Game Boy palettes 2021-05-01 19:27:23 -07:00
Vicki Pfau fe195923a4 Qt: Fix UI element ordering (fixes #2156) 2021-05-01 19:25:40 -07:00
Vicki Pfau 8416380030 GBA Video: Revert scanline latching changes (fixes #2153, fixes #2149) 2021-04-29 22:42:07 -07:00
Vicki Pfau 91874af0c3 GBA Overrides: Add missing override for Drill Dozer (Europe) 2021-04-28 22:32:07 -07:00
Vicki Pfau 9c7f15ad58 Qt: Fix applying savetype-only overrides 2021-04-25 19:04:46 -07:00
sdhizumi 063c4d6057 GBA: Add override for DigiCommunication Nyo 2021-04-25 19:01:10 -07:00
Vicki Pfau 72ceb60697 Qt: Remove potentially deadlocking optimization 2021-04-25 17:07:54 -07:00
Vicki Pfau c44ce3061a Qt: Update translations 2021-04-25 17:06:57 -07:00
Vicki Pfau 405f12d1bd Qt: Redo internal library API and clean up LibraryTree 2021-04-25 17:00:49 -07:00
Vicki Pfau e4b25fc16b Core: Fix memory leak in opening games from the library 2021-04-25 16:55:04 -07:00
Vicki Pfau 73a1416565 Qt: Start cleaning up library code 2021-04-24 23:58:43 -07:00
Vicki Pfau 967cc0886e Qt: Fix infrequent deadlock when using sync to video 2021-04-23 20:44:49 -07:00
Nuive adac035422 Qt: Update translation (Spanish)
Currently translated at 100.0% (1061 of 1061 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2021-04-23 00:24:27 -07:00
Vicki Pfau 990704e46b mGUI: Initial cheat support UI 2021-04-23 00:24:27 -07:00
Vicki Pfau 4ba921ccc5 mGUI: Initial OSK support 2021-04-23 00:24:27 -07:00
Vicki Pfau 926e8fcccb Util: Add toUtf16 function 2021-04-23 00:18:18 -07:00
Vicki Pfau dc5003a427 Switch: Minor cleanup 2021-04-22 21:03:35 -07:00
Vicki Pfau 7da920c496 mGUI: "Accept" button should increment menu selection 2021-04-22 20:47:30 -07:00
Vicki Pfau 744feb116f mGUI: Fix some small memory leaks 2021-04-22 20:46:40 -07:00
Vicki Pfau 29732113ea CHANGES: Update for 0.9.1 2021-04-18 21:49:42 -07:00
Vicki Pfau 84d8c3727c Res: Update nointro.dat 2021-04-18 21:48:07 -07:00
Vicki Pfau 3a8975de0a Res: Update patrons for April 2021-04-18 21:48:06 -07:00
Vicki Pfau e6fb9f44a7 Qt: Restore maximized state when starting (fixes #487) 2021-04-17 18:37:38 -07:00
Margen67 a7c451708f CONTRIBUTING.md: Remove whitespace 2021-04-16 11:56:24 -07:00
Vicki Pfau 2dc47e63dd Qt: Improve handling of disabling VBA bug compat mode (fixes #2129) 2021-04-15 23:19:31 -07:00
Vicki Pfau 8094345153 Qt: Blur image slightly on savestate screen 2021-04-15 22:11:37 -07:00
Vicki Pfau 950767e6ad Util: 2D convolve with channels 2021-04-15 22:10:58 -07:00
Vicki Pfau 9f099eab0b Qt: AudioProcessor refactoring 2021-04-15 21:00:11 -07:00
Vicki Pfau d1d9e796af Qt: Move display configuration 2021-04-15 20:57:03 -07:00
Vicki Pfau a36e4157c0 Qt: Parse --version flag 2021-04-15 20:38:58 -07:00
Moucalune 598dbff32f Qt: Update translation (Portuguese (Brazil))
Currently translated at 100.0% (1056 of 1056 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2021-04-15 20:10:31 -07:00
Just burner 8b0e8b2077 Qt: Update translation (Portuguese (Brazil))
Currently translated at 96.6% (1021 of 1056 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/pt_BR/
2021-04-15 20:10:21 -07:00
T 610ca84283 Qt: Update translation (Italian)
Currently translated at 95.9% (1018 of 1061 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/it/
2021-04-15 20:04:19 -07:00
Vicki Pfau 0406714a59 Qt: Update translation (Russian)
Currently translated at 3.9% (42 of 1061 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ru/
2021-04-15 20:03:34 -07:00
Vicki Pfau 4de01a4576 Qt: Move display attaching code 2021-04-15 20:01:35 -07:00
Vicki Pfau 0208c7456a Qt: Rearrange menus some 2021-04-15 19:47:29 -07:00
Vicki Pfau 144a05a66e ARM: Fix LDM^ with empty rlist (fixes #2127) 2021-04-15 19:17:15 -07:00
Vicki Pfau 0a7f8fa55d Qt: Fix frames getting backlogged (fixes #2122) 2021-04-15 19:00:02 -07:00
Vicki Pfau ab7cfb9634 Qt: Fix saving settings enabling camera when camera name changes (fixes #2125) 2021-04-14 20:49:32 -07:00
Vicki Pfau 527c089f1f Libretro: Redo key handling, support bitmasks 2021-04-14 00:25:22 -07:00
Vicki Pfau ad17c22e51 Libretro: Add missing rotation peripheral 2021-04-14 00:08:41 -07:00
Vicki Pfau e18063071a Libretro: Fix GB SRAM in memory map 2021-04-14 00:05:57 -07:00
Patrick Lofstrom 1ffae75fae Qt: Update translation (Japanese)
Currently translated at 94.2% (995 of 1056 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/ja/
2021-04-13 18:50:55 -07:00
Vicki Pfau fce2a27a1d GB: Fix skipping BIOS 2021-04-13 18:49:59 -07:00
Vicki Pfau b6e5b6e321 Qt: Update translations 2021-04-12 22:12:57 -07:00
Ezi 2c9e400583 Qt: Update translation (Finnish)
Currently translated at 3.0% (32 of 1056 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/fi/
2021-04-12 22:12:03 -07:00
Ezi c95f759c3b Qt: Added translation (Finnish) 2021-04-12 22:12:03 -07:00
Vicki Pfau 95dd33cf9f Qt: Fix smudged window icon on Windows, recompress icons 2021-04-12 22:09:56 -07:00
Vicki Pfau d5138bf885 Qt: Fix OpenGL renderer lagging behind when fast-forwarding (fixes #2094) 2021-04-11 23:44:45 -07:00
Vicki Pfau 509ab561c9 Qt: Remove no-longer used dependency 2021-04-11 16:09:37 -07:00
Vicki Pfau 3b781c00e6 GBA e-Reader: Initial error detection and retrying 2021-04-11 16:08:39 -07:00
Vicki Pfau 92080793b3 GBA e-Reader: Improve initial boundary detection 2021-04-11 16:03:14 -07:00
Vicki Pfau e84db73f31 Qt: Expose e-Reader parsing 2021-04-10 03:07:35 -07:00
Vicki Pfau a0360ec936 GBA e-Reader: Add visual dotcode parsing 2021-04-10 03:07:35 -07:00
Vicki Pfau adfc3c4ab2 FFmpeg: Add image scaling function 2021-04-10 03:07:35 -07:00
Vicki Pfau 207c64874a Util: Add bits of a convolution API 2021-04-10 03:07:35 -07:00
Vicki Pfau afd970423e Qt: Fix crash when switching from high-resolution OpenGL renderer to software 2021-04-08 18:41:53 -07:00
Vicki Pfau af212925e7 mGUI: Fix build 2021-04-03 16:15:11 -07:00
Liukun Zhao 1c5e0a2a9f Qt: Update translation (Chinese (Simplified))
Currently translated at 88.7% (937 of 1056 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2021-04-03 15:59:12 -07:00
Bentley Racune 8ea7d9b3b5 Qt: Update translation (Spanish)
Currently translated at 100.0% (1056 of 1056 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/es/
2021-04-03 15:59:12 -07:00
Bentley Racune bda0095721 Qt: Update translation (German)
Currently translated at 100.0% (1056 of 1056 strings)

Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/de/
2021-04-03 15:59:12 -07:00
Vicki Pfau 23b5a458b8 GBA e-Reader: Refactor out of GPIO code 2021-04-03 13:37:29 -07:00
Vicki Pfau bc16a1bfe3 GBA Cart: Refactor hardware.c into cart/gpio.c etc 2021-04-03 01:31:55 -07:00
Vicki Pfau 9a192d9ab1 GBA Memory: Remove unused variable 2021-04-03 00:32:48 -07:00
Vicki Pfau 02dc7a0e66 GBA Memory: Log GPIO writes on non-GPIO carts as Pak Hardware instead of Memory 2021-04-03 00:32:35 -07:00
Vicki Pfau be8b95f803 GBA Video: Fix mode 3-5 overflow with mosaic (fixes #1691) 2021-04-01 19:45:51 -07:00
Vicki Pfau 7744332b64 GBA Video: Fix window start on modes 2-5 with mosaic (fixes #1690) 2021-04-01 19:45:51 -07:00
Vicki Pfau 9be79ddb64 GBA SIO: Silence initial mode switch 2021-03-31 22:18:41 -07:00
Vicki Pfau 50cc28dab5 GBA Video: Don't attempt to copy invalid registers when switching renderer 2021-03-31 21:57:03 -07:00
Vicki Pfau e587a12ddf Core: Truncate preloading ROMs that slightly exceed max size (fixes #2093) 2021-03-31 00:00:13 -07:00
Vicki Pfau 39751aac97 GBA e-Reader: Fix bitmap short strip scanning 2021-03-30 23:47:50 -07:00
Vicki Pfau 2e0c245e2d Tools: Spit out dotcodes that mGBA can read 2021-03-30 23:46:20 -07:00
Vicki Pfau 4bb8744cd5 GBA Video: Fix mode 5 frame 1 caching (fixes #2075) 2021-03-30 22:39:10 -07:00
Vicki Pfau 85b4bb1400 GBA: Default-enable VBA bug compat for Ruby and Emerald ROM hacks 2021-03-30 21:25:08 -07:00
Vicki Pfau 0cde0fcc19 GBA: Fix non-USA 1.0 FireRed misdetecting as a ROM hack (fixes #2100) 2021-03-30 18:43:37 -07:00
Vicki Pfau e25d595892 GB Serialize: Fix switching speed modes when loading a state (fixes #2097) 2021-03-30 18:34:51 -07:00
Vicki Pfau 21d69fa02a GBA: Fix crash when ROM loading fails 2021-03-30 18:33:32 -07:00
Vicki Pfau 30ed94e803 Qt: Add ROM filename and size to bug reporter 2021-03-29 21:20:12 -07:00
Vicki Pfau 5a0257480a GBA: Fix FireRed revision misdetecting as a ROM hack 2021-03-29 21:10:44 -07:00
Vicki Pfau d4d4bfd3d1 Core: Fix first event scheduling after loading savestate 2021-03-29 21:08:28 -07:00
Vicki Pfau 49ee6dc302 GBA Memory: Fix loading Thumb savestates when in ARM mode 2021-03-29 21:06:08 -07:00
Vicki Pfau a4177f8e84 Qt: Update translations 2021-03-28 22:47:56 -07:00
Allan Nordhøy 840dc24b6e Added translation using Weblate (Norwegian Bokmål) 2021-03-28 22:47:56 -07:00
Vicki Pfau dfb0efb17a CMake: Bump version 2021-03-28 18:32:11 -07:00
1511 changed files with 257222 additions and 99325 deletions

View File

@ -4,17 +4,19 @@ platform:
- x64
configuration:
- Release
cache:
- C:\Tools\vcpkg
install:
- git -C C:\Tools\vcpkg clean -dfq ports toolsrc
- git -C C:\Tools\vcpkg clean -dfq docs ports scripts toolsrc triplets versions
- git -C C:\Tools\vcpkg pull --force --quiet
- C:\Tools\vcpkg\bootstrap-vcpkg
- vcpkg --triplet x64-windows --recurse install ffmpeg libepoxy libpng libzip sdl2 sqlite3
- vcpkg --triplet x64-windows-release --recurse install ffmpeg libepoxy libpng libzip lua sdl2 sqlite3
- vcpkg --no-dry-run upgrade
- rd /Q /S C:\Tools\vcpkg\buildtrees
before_build:
- cmake . -DCMAKE_PREFIX_PATH=C:\Qt\5.12\msvc2017_64 -DCMAKE_TOOLCHAIN_FILE=C:\Tools\vcpkg\scripts\buildsystems\vcpkg.cmake
- cmake . -DCMAKE_PREFIX_PATH=C:\Qt\5.15\msvc2019_64 \
-DCMAKE_TOOLCHAIN_FILE=C:\Tools\vcpkg\scripts\buildsystems\vcpkg.cmake \
-DVCPKG_TARGET_TRIPLET=x64-windows-release \
-DCMAKE_CONFIGURATION_TYPES=Release \
-DCMAKE_SYSTEM_VERSION=10.0.22000.1
build:
parallel: true
project: mGBA.sln

BIN
.gitignore vendored

Binary file not shown.

View File

@ -1,8 +0,0 @@
#!/bin/sh
if [ $TRAVIS_OS_NAME = "osx" ]; then
brew update
brew install qt5 ffmpeg sdl2 libelf libpng libzip
else
sudo apt-get update
sudo apt-get -y install libseccomp2
fi

View File

@ -1,33 +0,0 @@
if: type = pull_request OR NOT branch =~ /^(master$|optimization)/ OR fork
language: c
sudo: required
services:
- docker
os: linux
env:
- DOCKER_TAG=ubuntu:xenial
- DOCKER_TAG=ubuntu:bionic
- DOCKER_TAG=ubuntu:disco
- DOCKER_TAG=ubuntu:eoan
- DOCKER_TAG=3ds
- DOCKER_TAG=wii
- DOCKER_TAG=vita
- DOCKER_TAG=switch
- DOCKER_TAG=windows:w32
- DOCKER_TAG=windows:w64
jobs:
include:
- os: osx
osx_image: xcode12.2
compiler: clang
env: DOCKER_TAG=
before_install:
- '[ -z "$DOCKER_TAG" ] || docker pull mgba/$DOCKER_TAG'
- '. ./.travis-deps.sh'
- 'mkdir build && chmod 777 build'
script:
- '[ -z "$DOCKER_TAG" ] || docker run -e BUILD_DIR=build -e MAKEFLAGS=-j2 -v $PWD:/home/mgba/src mgba/$DOCKER_TAG'
- '[ "$TRAVIS_OS_NAME" != "osx" ] || (cd build && cmake -DCMAKE_PREFIX_PATH="/usr/local/opt/qt5" .. && make -j2)'

409
CHANGES
View File

@ -1,3 +1,408 @@
0.11.0: (Future)
Features:
- Forwarder support for 3DS and Vita
- Custom border support
- New option to lock the maximum frame size
- Memory access and information logging
- 3DS: Add faster "loose" sync mode, default enabled
- Vita: Allow using rear touch pads as L2/L3/R2/R3
- Scripting: New `input` API for getting raw keyboard/mouse/controller state
- Scripting: New `storage` API for saving data for a script, e.g. settings
- Scripting: New `image` and `canvas` APIs for drawing images and displaying on-screen
- Scripting: Debugger integration to allow for breakpoints and watchpoints
- New unlicensed GB mappers: NT (older types 1 and 2), Li Cheng, GGB-81, Sintax
- Initial support for bootleg GBA multicarts
- Debugger: Add range watchpoints
- "Headless" frontend for running tests, automation, etc.
Emulation fixes:
- ARM: Add framework for coprocessor support
- GB Serialize: Add missing Pocket Cam state to savestates
- GB Video: Implement DMG-style sprite ordering
- GBA: Unhandled bkpt should be treated as an undefined exception
- GBA: Add baseline CP0 (Wii U VC) and CP1 (DCC) implementations
- GBA Serialize: Fix some minor save state edge cases
- GBA Video: Disable BG target 1 blending when OBJ blending (fixes mgba.io/i/2722)
- GBA Video: Improve emulation of window start/end conditions (fixes mgba.io/i/1945)
Other fixes:
- Core: Fix inconsistencies with setting game-specific overrides (fixes mgba.io/i/2963)
- Debugger: Fix writing to specific segment in command-line debugger
- GBA: Fix getting game info for multiboot ROMs
- mGUI: Load parent directory if last used directory is missing (fixes mgba.io/i/3379)
- Qt: Fix savestate preview sizes with different scales (fixes mgba.io/i/2560)
- Qt: Fix potential crash when configuring shortcuts
- Qt: Fix regression where loading BIOS creates a save file (fixes mgba.io/i/3359)
Misc:
- 3DS: Change title ID to avoid conflict with commercial title (fixes mgba.io/i/3023)
- Core: Handle relative paths for saves, screenshots, etc consistently (fixes mgba.io/i/2826)
- Core: Improve rumble emulation by averaging state over entire frame (fixes mgba.io/i/3232)
- Core: Add MD5 hashing for ROMs
- Core: Add support for specifying an arbitrary portable directory
- Core: Add SHA1 hashing for ROMs
- FFmpeg: Add Ut Video option
- GB: Prevent incompatible BIOSes from being used on differing models
- GB Serialize: Add missing savestate support for MBC6 and NT (newer)
- GBA: Improve detection of valid ELF ROMs
- GBA Audio: Remove broken XQ audio pending rewrite
- GBA BIOS: Move SoftReset implementation to assembly
- GBA Memory: Improve VRAM access stall cycle estimation
- GBA SIO: Rewrite lockstep driver for improved stability
- GBA Video: Add special circlular window handling in OpenGL renderer
- Libretro: Add Super Game Boy Color support (closes mgba.io/i/3188)
- mGUI: Enable auto-softpatching (closes mgba.io/i/2899)
- mGUI: Persist fast forwarding after closing menu (fixes mgba.io/i/2414)
- mGUI: Wrap around menu cursor when navigating past end (closes mgba.io/i/3356)
- Qt: Handle multiple save game files for disparate games separately (fixes mgba.io/i/2887)
- Qt: Remove maligned double-click-to-fullscreen shortcut (closes mgba.io/i/2632)
- Qt: Pass logging context through to video proxy thread (fixes mgba.io/i/3095)
- Qt: Show maker code and game version in ROM info
- Qt: Show a dummy shader settings tab if shaders aren't supported
- Qt: Allow passing multiple games on command line for multiplayer (closes mgba.io/i/3061)
- Qt: Support building against Qt 6
- Qt: Add shortcuts to increment fast forward speed (mgba.io/i/2903)
- Qt: Enable ROM preloading by default
- Res: Port hq2x and OmniScale shaders from SameBoy
- Res: Port NSO-gba-colors shader (closes mgba.io/i/2834)
- Res: Update gba-colors shader (closes mgba.io/i/2976)
- Scripting: Add `callbacks:oneshot` for single-call callbacks
0.10.5: (2025-03-08)
Other fixes:
- ARM Debugger: Fix disassembly of ror r0 barrel shift (fixes mgba.io/i/3412)
- FFmpeg: Fix failing to record videos with CRF video (fixes mgba.io/i/3368)
- GB Core: Fix cloning savedata when backing file is outdated (fixes mgba.io/i/3388)
- GBA Cheats: Let VBA-style codes patch ROM (fixes mgba.io/i/3423)
- GBA Core: Fix booting into BIOS when skip BIOS is enabled
- GBA Hardware: Fix loading states unconditionally overwriting GPIO memory
- Updater: Fix rewriting folders and files on Windows (fixes mgba.io/i/3384)
- Wii: Fix crash on loading large ZIP files (fixes mgba.io/i/3404)
Misc:
- GB: Allow use of CGB-E and AGB-0 BIOS versions (closes mgba.io/i/3427)
0.10.4: (2024-12-07)
Emulation fixes:
- GB Audio: Fix audio envelope timing resetting too often (fixes mgba.io/i/3164)
- GB I/O: Fix STAT writing IRQ trigger conditions (fixes mgba.io/i/2501)
- GBA GPIO: Fix gyro read-out start (fixes mgba.io/i/3141)
- GBA I/O: Fix HALTCNT access behavior (fixes mgba.io/i/2309)
- GBA I/O: Fix audio register 8-bit write behavior (fixes mgba.io/i/3086)
- GBA Serialize: Properly restore GPIO register state (fixes mgba.io/i/3294)
- GBA SIO: Fix MULTI mode SIOCNT bit 7 writes on secondary GBAs (fixes mgba.io/i/3110)
Other fixes:
- Core: Fix patch autoloading leaking the file handle
- GB: Fix uninitialized save data when loading undersized temporary saves
- GB, GBA Core: Fix memory leak if reloading debug symbols
- GB Serialize: Prevent loading invalid states where LY >= 144 in modes other than 1
- GBA Audio: Fix crash if audio FIFOs and timers get out of sync
- GBA Audio: Fix crash in audio subsampling if timing lockstep breaks
- GBA Core: Fix loading symbols from ELF files if the file doesn't end with .elf
- GBA Memory: Let raw access read high MMIO addresses
- Qt: Fix crash when applying changes to GB I/O registers in I/O view
- Qt: Fix LCDC background priority/enable bit being mis-mapped in I/O view
- Qt: Fix saving named states breaking when screenshot states disabled (fixes mgba.io/i/3320)
- Qt: Fix potential crash on Wayland with OpenGL (fixes mgba.io/i/3276)
- Qt: Fix installer updates if a version number is in the filename (fixes mgba.io/i/3109)
- Updater: Fix updating appimage across filesystems
Misc:
- Qt: Make window corners square on Windows 11 (fixes mgba.io/i/3285)
- Switch: Add bilinear filtering option (closes mgba.io/i/3111)
- Vita: Add imc0 and xmc0 mount point support
0.10.3: (2024-01-07)
Emulation fixes:
- ARM: Remove obsolete force-alignment in `bx pc` (fixes mgba.io/i/2964)
- ARM: Fake bpkt instruction should take no cycles (fixes mgba.io/i/2551)
- GB Audio: Fix channels 1/2 staying muted if restarted after long silence
- GB Audio: Fix channel 1 restarting if sweep applies after stop (fixes mgba.io/i/2965)
- GB Audio: Fix restarting envelope when writing to register (fixes mgba.io/i/3067)
- GB Audio: Improve "zombie mode" emulation in CGB mode (fixes mgba.io/i/2029)
- GB I/O: Read back proper SVBK value after writing 0 (fixes mgba.io/i/2921)
- GB SIO: Disabling SIO should cancel pending transfers (fixes mgba.io/i/2537)
- GBA Audio: Fix sample timing drifting when changing sample interval
- GBA Audio: Fix initial channel 3 wave RAM (fixes mgba.io/i/2947)
- GBA Audio: Fix sample position issues when rate changes (fixes mgba.io/i/3006)
- GBA GPIO: Fix tilt scale and orientation (fixes mgba.io/i/2703)
- GBA BIOS: Fix clobbering registers with word-sized CpuSet
- GBA SIO: Fix normal mode SI/SO semantics (fixes mgba.io/i/2925)
Other fixes:
- GB: Fix applying a patch that changes the cartridge mapper (fixes mgba.io/i/3077)
- GBA Savedata: Fix crash when resizing flash save games for RTC data
- mGUI: Fix cases where an older save state screenshot would be shown (fixes mgba.io/i/2183)
- Qt: Re-enable sync for multiplayer windows that aren't connected (fixes mgba.io/i/2974)
- Qt: Fix mute settings not being loaded on setting screen (fixes mgba.io/i/2990)
- Qt: Fix screen freezing on macOS after closing save state window (fixes mgba.io/i/2885)
- Vita: Fix camera setting not appearing (fixes mgba.io/i/3012)
Misc:
- mGUI: Persist fast forwarding after closing menu (fixes mgba.io/i/2414)
- Qt: Add exporting of SAV + RTC saves from Save Converter to strip RTC data
- VFS: Use anonymousMemoryMap for large 7z allocations (fixes mgba.io/i/3013)
0.10.2: (2023-04-23)
Emulation fixes:
- GBA Audio: Fix improperly deserializing GB audio registers (fixes mgba.io/i/2793)
- GBA Audio: Clear GB audio state when disabled
- GBA Memory: Make VRAM access stalls only apply to BG RAM
- GBA Overrides: Fix saving in PMD:RRT (JP) (fixes mgba.io/i/2862)
- GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes mgba.io/i/2805)
- GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes mgba.io/i/2810)
- GBA SIO: Normal mode transfers with no clock should not finish (fixes mgba.io/i/2811)
- GBA Timers: Cascading timers don't tick when disabled (fixes mgba.io/i/2812)
- GBA Video: Fix interpolation issues with OpenGL renderer
Other fixes:
- Core: Allow sending thread requests to a crashed core (fixes mgba.io/i/2784)
- FFmpeg: Force lower sample rate for codecs not supporting high rates (fixes mgba.io/i/2869)
- Qt: Fix crash when attempting to use OpenGL 2.1 to 3.1 (fixes mgba.io/i/2794)
- Qt: Disable sync while running scripts from main thread (fixes mgba.io/i/2738)
- Qt: Properly cap number of attached players by platform (fixes mgba.io/i/2807)
- Qt: Disable attempted linking betwen incompatible platforms (fixes mgba.io/i/2702)
- Qt: Fix modifier key names in shortcut editor (fixes mgba.io/i/2817)
- Qt: Fix a handful of edge cases with graphics viewers (fixes mgba.io/i/2827)
- Qt: Fix full-buffer rewind
- Qt: Fix crash if loading a shader fails
- Qt: Fix black screen when starting with a game (fixes mgba.io/i/2781)
- Qt: Fix OSD on modern macOS (fixes mgba.io/i/2736)
- Qt: Fix checked state of mute menu option at load (fixes mgba.io/i/2701)
- Qt: Remove OpenGL proxy thread and override SwapInterval directly instead
- Scripting: Fix receiving packets for client sockets
- Scripting: Fix empty receive calls returning unknown error on Windows
- Scripting: Return proper callback ID from socket.add
- Vita: Work around broken mktime implementation in Vita SDK (fixes mgba.io/i/2876)
Misc:
- Qt: Include wayland QPA in AppImage (fixes mgba.io/i/2796)
- Qt: Stop eating boolean action key events (fixes mgba.io/i/2636)
- Qt: Automatically change video file extension as appropriate
- Qt: Swap P1 and other player's save if P1 loaded it first (closes mgba.io/i/2750)
0.10.1: (2023-01-10)
Emulation fixes:
- GB Audio: Fix channels 1/2 not playing when resetting volume (fixes mgba.io/i/2614)
- GB Audio: Fix channel 3 volume being changed between samples (fixes mgba.io/i/1896)
- GB Audio: Fix up boot sequence
- GB Audio: Fix updating channels other than 2 when writing NR5x
- GB Memory: Actually, HDMAs should start when LCD is off (fixes mgba.io/i/2662)
- GB Serialize: Don't write BGP/OBP when loading SCGB state (fixes mgba.io/i/2694)
- GB SIO: Further fix bidirectional transfer starting
- GBA: Fix resetting key IRQ state (fixes mgba.io/i/2716)
- GBA BIOS: Include timing in degenerate ArcTan2 cases (fixes mgba.io/i/2763)
- GBA Video: Ignore disabled backgrounds as OBJ blend target (fixes mgba.io/i/2489)
Other fixes:
- GBA: Fix forceskip BIOS logic for multiboot ROMs (fixes mgba.io/i/2753)
- GBA Cheats: Fix issues detecting unencrypted cheats (fixes mgba.io/i/2724)
- Qt: Manually split filename to avoid overzealous splitting (fixes mgba.io/i/2681)
- Qt: Fix scanning specific e-Reader dotcodes (fixes mgba.io/i/2693)
- Qt: Don't re-enable sync if GBA link modes aren't the same (fixes mgba.io/i/2044)
- Qt: Improve handling of multiplayer syncing (fixes mgba.io/i/2720)
- Qt: Fix initializing update revision info
- Qt: Redo stable branch detection heuristic (fixes mgba.io/i/2679)
- Res: Fix species name location in Ruby/Sapphire revs 1/2 (fixes mgba.io/i/2685)
- VFS: Fix minizip write returning 0 on success instead of size
Misc:
- macOS: Add category to plist (closes mgba.io/i/2691)
- macOS: Fix modern build with libepoxy (fixes mgba.io/i/2700)
- Qt: Keep track of current palette preset name (fixes mgba.io/i/2680)
- Qt: Move OpenGL proxy onto its own thread (fixes mgba.io/i/2493)
0.10.0: (2022-10-11)
Features:
- Preliminary Lua scripting support
- Presets for Game Boy palettes
- Add Super Game Boy palettes for original Game Boy games
- Tool for converting scanned pictures of e-Reader cards to raw dotcode data
- Options for muting when inactive, minimized, or for different players in multiplayer
- Cheat code support in homebrew ports
- Accelerometer and gyro support for controllers on PC
- Support for combo "Super Game Boy Color" SGB + GBC ROM hacks
- Improved support for HuC-3 mapper, including RTC
- Support for 64 kiB SRAM saves used in some bootlegs
- Discord Rich Presence now supports time elapsed
- Additional scaling shaders
- Support for GameShark Advance SP (.gsv) save file importing
- Support for multiple saves per game using .sa2, .sa3, etc.
- Support for GBX format Game Boy ROMs
- New unlicensed GB mappers: NT (newer type), Sachen (MMC1, MMC2)
Emulation fixes:
- ARM7: Fix unsigned multiply timing
- GB: Copy logo from ROM if not running the BIOS intro (fixes mgba.io/i/2378)
- GB: Fix HALT breaking M-cycle alignment (fixes mgba.io/i/250)
- GB Audio: Fix channel 1/2 resetting edge cases (fixes mgba.io/i/1925)
- GB Audio: Properly apply per-model audio differences
- GB Audio: Revamp channel rendering
- GB Audio: Fix APU re-enable timing glitch
- GB I/O: Fix writing to WAVE RAM behavior (fixes mgba.io/i/1334)
- GB MBC: Fix edge case with Pocket Cam register accesses (fixes mgba.io/i/2557)
- GB Memory: Add cursory cartridge open bus emulation (fixes mgba.io/i/2032)
- GB Serialize: Fix loading MBC1 states that affect bank 0 (fixes mgba.io/i/2402)
- GB SIO: Fix bidirectional transfer starting (fixes mgba.io/i/2290)
- GB Video: Draw SGB border pieces that overlap GB graphics (fixes mgba.io/i/1339)
- GBA: Improve timing when not booting from BIOS
- GBA: Fix expected entry point for multiboot ELFs (fixes mgba.io/i/2450)
- GBA: Fix booting multiboot ROMs with no JOY entrypoint
- GBA: Fix 1 MiB ROM mirroring to only mirror 4 times
- GBA Audio: Adjust PSG sampling rate with SOUNDBIAS
- GBA Audio: Sample FIFOs at SOUNDBIAS-set frequency
- GBA BIOS: Work around IRQ handling hiccup in Mario & Luigi (fixes mgba.io/i/1059)
- GBA BIOS: Initial HLE timing estimation of UnLz77 functions (fixes mgba.io/i/2141)
- GBA DMA: Fix DMA source direction bits being cleared (fixes mgba.io/i/2410)
- GBA I/O: Redo internal key input, enabling edge-based key IRQs
- GBA I/O: Disable open bus behavior on invalid register 06A
- GBA Memory: Fix misaligned 32-bit I/O loads (fixes mgba.io/i/2307)
- GBA Video: Fix OpenGL rendering on M1 Macs
- GBA Video: Ignore horizontally off-screen sprite timing (fixes mgba.io/i/2391)
- GBA Video: Fix Hblank timing (fixes mgba.io/i/2131, mgba.io/i/2310)
- GBA Video: Fix rare crash in modes 3-5
- GBA Video: Fix sprites with mid-frame palette changes in GL (fixes mgba.io/i/2476)
- GBA Video: Fix OBJ tile wrapping with 2D char mapping (fixes mgba.io/i/2443)
- GBA Video: Fix horizontal lines in GL when charbase is changed (fixes mgba.io/i/1631)
- GBA Video: Fix sprite layer priority updating in GL
Other fixes:
- ARM: Disassemble Thumb mov pseudo-instruction properly
- ARM: Disassemble ARM asr/lsr #32 properly
- ARM: Disassemble ARM movs properly
- Core: Don't attempt to restore rewind diffs past start of rewind
- Core: Fix the runloop resuming after a game has crashed (fixes mgba.io/i/2451)
- Core: Fix crash if library can't be opened
- Debugger: Fix crash with extremely long CLI strings
- Debugger: Fix multiple conditional watchpoints at the same address
- FFmpeg: Fix crash when encoding audio with some containers
- FFmpeg: Fix GIF recording (fixes mgba.io/i/2393)
- GB: Fix temporary saves
- GB: Fix replacing the ROM crashing when accessing ROM base
- GB: Don't try to map a 0-byte SRAM (fixes mgba.io/i/2668)
- GB, GBA: Save writeback-pending masked saves on unload (fixes mgba.io/i/2396)
- mGUI: Fix FPS counter after closing menu
- Qt: Fix some hangs when using the debugger console
- Qt: Fix crash when clicking past last tile in viewer
- Qt: Fix preloading for ROM replacing
- Qt: Fix screen not displaying on Wayland (fixes mgba.io/i/2190)
- Qt: Fix crash when selecting 256-color sprite in sprite view
- Qt: Fix coloration of swatches on styles with distinct frame backgrounds
- VFS: Failed file mapping should return NULL on POSIX
Misc:
- Core: Suspend runloop when a core crashes
- Core: Add wallclock offset RTC type
- Debugger: Save and restore CLI history
- Debugger: GDB now works while the game is paused
- Debugger: Add command to load external symbol file (fixes mgba.io/i/2480)
- FFmpeg: Support dynamic audio sample rate
- GB: Support CGB0 boot ROM loading
- GB Audio: Increase sample rate
- GB MBC: Filter out MBC errors when cartridge is yanked (fixes mgba.io/i/2488)
- GB MBC: Partially implement TAMA5 RTC
- GB Video: Add default SGB border
- GBA: Automatically skip BIOS if ROM has invalid logo
- GBA: Refine multiboot detection (fixes mgba.io/i/2192)
- GBA Cheats: Implement "never" type codes (closes mgba.io/i/915)
- GBA DMA: Enhanced logging (closes mgba.io/i/2454)
- GBA Memory: Implement adjustable EWRAM waitstates (closes mgba.io/i/1276)
- GBA Savedata: Store RTC data in savegames (closes mgba.io/i/240)
- GBA Video: Implement layer placement for OpenGL renderer (fixes mgba.io/i/1962)
- GBA Video: Fix highlighting for sprites with mid-frame palette changes
- mGUI: Add margin to right-aligned menu text (fixes mgba.io/i/871)
- mGUI: Autosave less frequently when fast-forwarding
- Qt: Rearrange menus some
- Qt: Clean up cheats dialog
- Qt: Only set default controller bindings if loading fails (fixes mgba.io/i/799)
- Qt: Save converter now supports importing GameShark Advance saves
- Qt: Save positions of multiplayer windows (closes mgba.io/i/2128)
- Qt: Add optional frame counter to OSD (closes mgba.io/i/1728)
- Qt: Add optional emulation-related information on reset (closes mgba.io/i/1780)
- Qt: Add QOpenGLWidget cross-thread codepath for macOS (fixes mgba.io/i/1754)
- Qt: Enable -b for Boot BIOS menu option (fixes mgba.io/i/2074)
- Qt: Add tile range selection to tile viewer (closes mgba.io/i/2455)
- Qt: Show warning if XQ audio is toggled while loaded (fixes mgba.io/i/2295)
- Qt: Add e-Card passing to the command line (closes mgba.io/i/2474)
- Qt: Boot both a multiboot image and ROM with CLI args (closes mgba.io/i/1941)
- Qt: Improve cheat parsing (fixes mgba.io/i/2297)
- Qt: Change lossless setting to use WavPack audio
- Qt: Use FFmpeg to convert additional camera formats, if available
- Qt: Resume crashed game when loading a save state
- Qt: Include cheats in bug report
- SDL: Support exposing an axis directly as the gyro value (closes mgba.io/i/2531)
- Windows: Attach to console if present
- VFS: Early return NULL if attempting to map 0 bytes from a file
- Vita: Add bilinear filtering option (closes mgba.io/i/344)
0.9.3: (2021-12-17)
Emulation fixes:
- GB I/O: Fix incrementing SGB controller when P14 is low (fixes mgba.io/i/2202)
- GB Memory: Add cursory cartridge open bus emulation (fixes mgba.io/i/2032)
- GB Video: Render SGB border when unmasking with ATTR/PAL_SET (fixes mgba.io/i/2261)
- GBA SIO: Fix SI value for unattached MULTI mode
- GBA Video: Fix backdrop color if DISPCNT is first set to 0 (fixes mgba.io/i/2260)
- GBA Video: Don't iterate affine backgrounds when disabled
- GBA Video: Delay enabling backgrounds in bitmap modes (fixes mgba.io/i/1668)
Other fixes:
- ARM Decoder: Fix decoding of lsl r0 (fixes mgba.io/i/2349)
- FFmpeg: Don't attempt to use YUV 4:2:0 for lossless videos (fixes mgba.io/i/2084)
- GB Video: Fix memory leak when resetting SGB games
- GBA: Fix out of bounds ROM accesses on patched ROMs smaller than 32 MiB
- GBA: Fix maximum tile ID in caching for 256-color modes
- GBA Video: Fix cache updating with proxy and GL renderers
- Libretro: Fix crash when using Game Boy codes (fixes mgba.io/i/2281)
- mGUI: Fix crash if autosave file can't be opened (fixes mgba.io/i/2268)
- Qt: Remove potentially deadlocking optimization
- Qt: Fix corrupted savestate and fatal error text
- Qt: Fix sprite compositing when sprite tiles go out of bounds (fixes mgba.io/i/2348)
Misc:
- GBA I/O: Update KEYINPUT in internal I/O memory (fixes mgba.io/i/2235)
- SDL: Use SDL_JoystickRumble where available
- Wii: Add adjustable gyroscope settings (closes mgba.io/i/2245)
0.9.2: (2021-07-10)
Emulation fixes:
- GB Video: Clear VRAM on reset (fixes mgba.io/i/2152)
- GBA SIO: Add missing NORMAL8 implementation bits (fixes mgba.io/i/2172)
- GBA SIO: Fix missing interrupt on an unattached NORMAL transfer
- GBA Memory: Fix prefetch mask when swapping modes within a region
- GBA Serialize: Fix loading audio enable bit late (fixes mgba.io/i/2230)
- GBA Video: Revert scanline latching changes (fixes mgba.io/i/2153, mgba.io/i/2149)
Other fixes:
- 3DS: Fix disabling "wide" mode on 2DS (fixes mgba.io/i/2167)
- ARM Debugger: Fix disassembly alignment (fixes mgba.io/i/2204)
- Core: Fix memory leak in opening games from the library
- Core: Fix memory searches for relative values (fixes mgba.io/i/2135)
- Core: Fix portable mode on macOS
- GB Audio: Fix audio channel 4 being slow to deserialize
- GB Core: Fix GBC colors setting breaking default model overrides (fixes mgba.io/i/2161)
- mGUI: Cache save state screenshot validity in state menu (fixes mgba.io/i/2005)
- Qt: Fix eventual deadlock when using sync to video
- Qt: Fix applying savetype-only overrides
- Qt: Fix crash in sprite view for partially out-of-bounds sprites (fixes mgba.io/i/2165)
- Qt: Fix having to press controller buttons twice for menu items (fixes mgba.io/i/2143)
- Qt: Redo sensor binding to be less fragile
- Qt: Reuse timer when rescheduling missing frames (fixes mgba.io/i/2236)
- Qt: Fix bounded fast forward with enhancement OpenGL renderer
- Util: Fix loading UPS patches that affect the last byte of the file
Misc:
- Util: Improve speed of UPS patch loading
0.9.1: (2021-04-18)
Emulation fixes:
- ARM: Fix LDM^ with empty rlist (fixes mgba.io/i/2127)
- Core: Fix first event scheduling after loading savestate
- GB Serialize: Fix switching speed modes when loading a state (fixes mgba.io/i/2097)
- GB: Fix skipping BIOS
- GBA Memory: Fix loading Thumb savestates when in ARM mode
- GBA Video: Fix window start on modes 3-5 with mosaic (fixes mgba.io/i/1690)
- GBA Video: Fix mode 3-5 overflow with mosaic (fixes mgba.io/i/1691)
Other fixes:
- GBA: Fix non-USA 1.0 FireRed misdetecting as a ROM hack (fixes mgba.io/i/2100)
- GBA: Fix crash when ROM loading fails
- GBA e-Reader: Fix bitmap short strip scanning
- GBA Video: Fix mode 5 frame 1 caching (fixes mgba.io/i/2075)
- GBA Video: Don't attempt to copy invalid registers when switching renderer
- Qt: Fix crash when switching from high-resolution OpenGL renderer to software
- Qt: Fix OpenGL renderer lagging behind when fast-forwarding (fixes mgba.io/i/2094)
- Qt: Fix smudged window icon on Windows
- Qt: Fix saving settings enabling camera when camera name changes (fixes mgba.io/i/2125)
- Qt: Fix frames getting backlogged (fixes mgba.io/i/2122)
- Qt: Restore maximized state when starting (fixes mgba.io/i/487)
Misc:
- Core: Truncate preloading ROMs that slightly exceed max size (fixes mgba.io/i/2093)
- GBA: Default-enable VBA bug compat for Ruby and Emerald ROM hacks
- GBA Memory: Log GPIO writes on non-GPIO carts as Pak Hardware instead of Memory
- Qt: Add ROM filename and size to bug reporter
- Qt: Improve handling of disabling VBA bug compat mode (fixes mgba.io/i/2129)
0.9.0: (2021-03-28)
Features:
- e-Reader card scanning
@ -39,7 +444,7 @@ Emulation fixes:
- GBA BIOS: Implement dummy sound driver calls
- GBA BIOS: Improve HLE BIOS timing
- GBA BIOS: Fix reloading video registers after reset (fixes mgba.io/i/1808)
- GBA BIOS: Make HLE BIOS calls interruptable (fixes mgba.io/i/1711 and mgba.io/i/1823)
- GBA BIOS: Make HLE BIOS calls interruptible (fixes mgba.io/i/1711 and mgba.io/i/1823)
- GBA BIOS: Fix invalid decompression bounds checking
- GBA DMA: Linger last DMA on bus (fixes mgba.io/i/301 and mgba.io/i/1320)
- GBA DMA: Fix ordering and timing of overlapping DMAs
@ -55,7 +460,7 @@ Emulation fixes:
- GBA Serialize: Fix alignment check when loading states
- GBA SIO: Fix copying Normal mode transfer values
- GBA SIO: Fix Normal mode being totally broken (fixes mgba.io/i/1800)
- GBA SIO: Fix deseralizing SIO registers
- GBA SIO: Fix deserializing SIO registers
- GBA SIO: Fix hanging on starting a second multiplayer window (fixes mgba.io/i/854)
- GBA SIO: Fix Normal mode transfer start timing (fixes mgba.io/i/425)
- GBA Timers: Fix toggling timer cascading while timer is active (fixes mgba.io/i/2043)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1)
cmake_minimum_required(VERSION 3.10)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/src/platform/cmake/")
if(POLICY CMP0025)
@ -22,14 +22,11 @@ if(NOT LIBMGBA_ONLY)
set(BINARY_NAME ${BINARY_NAME} CACHE INTERNAL "Name of output binaries")
endif()
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD 11)
if(NOT MSVC)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
if(SWITCH OR 3DS)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_EXTENSIONS ON)
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "4.3")
if(SWITCH OR 3DS OR (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "4.3"))
set(CMAKE_C_EXTENSIONS ON)
endif()
set(WARNING_FLAGS "-Wall -Wextra -Wno-missing-field-initializers")
@ -37,19 +34,23 @@ if(NOT MSVC)
# mingw32 likes to complain about using the "wrong" format strings despite them actually working
set(WARNING_FLAGS "${WARNING_FLAGS} -Wno-format")
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=implicit-function-declaration -Werror=implicit-int -fwrapv")
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
# TODO: Remove this once mScript KV pairs support const correctness
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror=incompatible-pointer-types")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} -Woverloaded-virtual -Werror=reorder")
else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4003 /wd4244 /wd4146 /wd4267")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4003 /wd4244 /wd4146 /wd4267")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4003 /wd4244 /wd4146 /wd4267 /Zc:preprocessor-")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4003 /wd4244 /wd4146 /wd4267 /Zc:preprocessor-")
endif()
if(NOT LIBMGBA_ONLY)
set(USE_DEBUGGERS ON CACHE BOOL "Whether or not to enable the debugging infrastructure")
set(ENABLE_DEBUGGERS ON CACHE BOOL "Whether or not to enable the debugging infrastructure")
if (NOT WIN32)
set(USE_EDITLINE ON CACHE BOOL "Whether or not to enable the CLI-mode debugger")
endif()
set(USE_GDB_STUB ON CACHE BOOL "Whether or not to enable the GDB stub ARM debugger")
set(ENABLE_GDB_STUB ON CACHE BOOL "Whether or not to enable the GDB stub ARM debugger")
set(USE_FFMPEG ON CACHE BOOL "Whether or not to enable FFmpeg support")
set(USE_ZLIB ON CACHE BOOL "Whether or not to enable zlib support")
set(USE_MINIZIP ON CACHE BOOL "Whether or not to enable external minizip support")
@ -57,6 +58,8 @@ if(NOT LIBMGBA_ONLY)
set(USE_LIBZIP ON CACHE BOOL "Whether or not to enable LIBZIP support")
set(USE_SQLITE3 ON CACHE BOOL "Whether or not to enable SQLite3 support")
set(USE_ELF ON CACHE BOOL "Whether or not to enable ELF support")
set(USE_LUA ON CACHE BOOL "Whether or not to enable Lua scripting support")
set(USE_JSON_C ON CACHE BOOL "Whether or not to enable JSON-C support")
set(M_CORE_GBA ON CACHE BOOL "Build Game Boy Advance core")
set(M_CORE_GB ON CACHE BOOL "Build Game Boy core")
set(USE_LZMA ON CACHE BOOL "Whether or not to enable 7-Zip support")
@ -65,21 +68,21 @@ if(NOT LIBMGBA_ONLY)
set(BUILD_QT ON CACHE BOOL "Build Qt frontend")
set(BUILD_SDL ON CACHE BOOL "Build SDL frontend")
set(BUILD_LIBRETRO OFF CACHE BOOL "Build libretro core")
if(APPLE)
set(BUILD_OPENEMU OFF CACHE BOOL "Build OpenEmu core")
endif()
set(BUILD_PERF OFF CACHE BOOL "Build performance profiling tool")
set(BUILD_TEST OFF CACHE BOOL "Build testing harness")
set(BUILD_SUITE OFF CACHE BOOL "Build test suite")
set(BUILD_CINEMA OFF CACHE BOOL "Build video tests suite")
set(BUILD_HEADLESS OFF CACHE BOOL "Build headless tool")
set(BUILD_EXAMPLE OFF CACHE BOOL "Build example frontends")
set(BUILD_PYTHON OFF CACHE BOOL "Build Python bindings")
set(BUILD_STATIC OFF CACHE BOOL "Build a static library")
set(BUILD_SHARED ON CACHE BOOL "Build a shared library")
set(SKIP_LIBRARY OFF CACHE BOOL "Skip building the library (useful for only building libretro or OpenEmu cores)")
set(SKIP_LIBRARY OFF CACHE BOOL "Skip building the library (useful for only building libretro core)")
set(BUILD_GL ON CACHE BOOL "Build with OpenGL")
set(BUILD_GLES2 ON CACHE BOOL "Build with OpenGL|ES 2")
set(BUILD_GLES3 OFF CACHE BOOL "Build with OpenGL|ES 3")
set(BUILD_GLES3 ON CACHE BOOL "Build with OpenGL|ES 3")
set(BUILD_DOCGEN OFF CACHE BOOL "Build the scripting API documentation generator")
set(BUILD_MAINTAINER_TOOLS OFF CACHE BOOL "Build tools only useful for maintainers")
set(USE_EPOXY ON CACHE STRING "Build with libepoxy")
set(DISABLE_DEPS OFF CACHE BOOL "Build without dependencies")
set(DISTBUILD OFF CACHE BOOL "Build distribution packages")
@ -87,6 +90,8 @@ if(NOT LIBMGBA_ONLY)
set(WIN32_UNIX_PATHS OFF CACHE BOOL "Use Unix-like paths")
mark_as_advanced(WIN32_UNIX_PATHS)
endif()
mark_as_advanced(BUILD_DOCGEN)
mark_as_advanced(BUILD_MAINTAINER_TOOLS)
else()
set(DISABLE_FRONTENDS ON)
set(DISABLE_DEPS ON)
@ -119,6 +124,10 @@ else()
set(CMAKE_INSTALL_INCLUDEDIR "include")
endif()
if(APPLE AND DISTBUILD)
set(CMAKE_INSTALL_DOCDIR ".")
endif()
if(NOT DEFINED LIBDIR)
set(LIBDIR "${CMAKE_INSTALL_LIBDIR}")
endif()
@ -132,11 +141,6 @@ if (BUILD_LIBRETRO)
mark_as_advanced(LIBRETRO_LIBDIR)
endif()
if (BUILD_OPENEMU)
set(OE_LIBDIR "${LIBDIR}" CACHE PATH "Installed library directory (OpenEmu)")
mark_as_advanced(OE_LIBDIR)
endif()
if (DISTBUILD)
set(EXTRA_LICENSES "" CACHE FILEPATH "Extra licenses to include in distribution packaages")
mark_as_advanced(EXTRA_LICENSES)
@ -144,12 +148,17 @@ endif()
mark_as_advanced(DISTBUILD)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIBDIR}")
if(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr")
set(CMAKE_SKIP_RPATH ON)
endif()
if (NOT DEFINED MANDIR)
set(MANDIR ${CMAKE_INSTALL_MANDIR})
endif()
include(FindFeature)
include(FindFunction)
include(DebugStrip)
# Version information
add_custom_target(${BINARY_NAME}-version-info ALL
@ -166,7 +175,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/core/version.c.in ${CMAKE_CURRENT
source_group("Generated sources" FILES ${CMAKE_CURRENT_BINARY_DIR}/version.c)
# Advanced settings
if(NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_COMPILER_VERSION VERSION_LESS "4.5"))
if(NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "4.5"))
set(DEFAULT_LTO ON)
else()
set(DEFAULT_LTO OFF)
@ -199,19 +208,22 @@ elseif(BUILD_PGO AND PGO_STAGE_2)
endif()
# Platform support
set(OS_DEFINES)
if(WIN32)
set(WIN32_VERSION "${LIB_VERSION_MAJOR},${LIB_VERSION_MINOR},${LIB_VERSION_PATCH}")
add_definitions(-D_WIN32_WINNT=0x0600)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
if(MSVC)
add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN)
add_definitions(-D_UNICODE -DUNICODE)
else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -municode")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -municode")
add_definitions(-D_GNU_SOURCE)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
add_compile_definitions(_FILE_OFFSET_BITS=64)
endif()
endif()
list(APPEND OS_LIB ws2_32 shlwapi)
list(APPEND CORE_VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/windows/vfs-w32.c)
list(APPEND OS_DEFINES ENABLE_VFS_FD)
list(APPEND VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/windows/vfs-w32.c)
file(GLOB OS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/windows/*.c)
source_group("Windows-specific code" FILES ${OS_SRC})
elseif(UNIX)
@ -221,15 +233,35 @@ elseif(UNIX)
add_definitions(-D_GNU_SOURCE)
endif()
list(APPEND CORE_VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-dirent.c)
list(APPEND OS_DEFINES ENABLE_VFS_FD)
list(APPEND VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-dirent.c)
file(GLOB OS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/posix/*.c)
source_group("POSIX-specific code" FILES ${OS_SRC})
endif()
if(APPLE)
execute_process(COMMAND xcrun --show-sdk-version OUTPUT_VARIABLE MACOSX_SDK)
if(NOT MACOSX_SDK)
message(WARNING "Could not detect SDK version; defaulting to system version. Is SDKROOT set?")
set(MACOSX_SDK ${CMAKE_SYSTEM_VERSION})
endif()
add_definitions(-D_DARWIN_C_SOURCE)
if(CMAKE_SYSTEM_VERSION VERSION_GREATER "10.5.8")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.6")
list(APPEND OS_LIB "-framework Foundation")
# Xcode 15 introduced a warning about duplicate libraries that CMake doesn't disable itself, we do it here globally
if(MACOSX_SDK VERSION_GREATER_EQUAL 10.15)
add_link_options(LINKER:-no_warn_duplicate_libraries)
endif()
if(NOT CMAKE_SYSTEM_VERSION VERSION_LESS "10.0") # Darwin 10.x is Mac OS X 10.6
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.6")
endif()
# Not supported until Xcode 9
if(CMAKE_C_COMPILER_ID STREQUAL "AppleClang" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "9")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__STDC_NO_THREADS__=1")
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_NO_THREADS__=1")
endif()
endif()
@ -251,20 +283,6 @@ if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang" OR
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} -gdwarf")
endif()
if(BUILD_BBB OR BUILD_RASPI OR BUILD_PANDORA)
if(NOT BUILD_EGL)
add_definitions(-DCOLOR_16_BIT -DCOLOR_5_6_5)
endif()
endif()
if(BUILD_RASPI)
set(BUILD_GL OFF CACHE BOOL "OpenGL not supported" FORCE)
endif()
if(BUILD_PANDORA)
add_definitions(-DBUILD_PANDORA)
endif()
if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*")
enable_language(ASM)
endif()
@ -275,7 +293,7 @@ endif()
if(DEFINED 3DS OR DEFINED PSP2 OR DEFINED WII OR DEFINED SWITCH)
set(IS_EMBEDDED ON)
set(USE_DEBUGGERS OFF)
set(ENABLE_DEBUGGERS OFF)
set(USE_SQLITE3 OFF)
set(USE_DISCORD_RPC OFF)
set(USE_LIBZIP OFF CACHE BOOL "")
@ -287,12 +305,12 @@ if(DEFINED SWITCH)
endif()
if(NOT M_CORE_GBA)
set(USE_GDB_STUB OFF)
set(ENABLE_GDB_STUB OFF)
endif()
if(NOT USE_DEBUGGERS)
if(NOT ENABLE_DEBUGGERS)
set(USE_EDITLINE OFF)
set(USE_GDB_STUB OFF)
set(ENABLE_GDB_STUB OFF)
endif()
if(WII)
@ -300,46 +318,41 @@ if(WII)
endif()
include(CheckCCompilerFlag)
include(CheckFunctionExists)
include(CheckIncludeFiles)
check_function_exists(strdup HAVE_STRDUP)
check_function_exists(strndup HAVE_STRNDUP)
check_function_exists(strlcpy HAVE_STRLCPY)
check_function_exists(vasprintf HAVE_VASPRINTF)
if(NOT DEFINED PSP2)
check_function_exists(localtime_r HAVE_LOCALTIME_R)
set(FUNCTION_DEFINES)
find_function(strdup)
find_function(strlcpy)
find_function(strndup)
find_function(vasprintf)
find_function(freelocale)
find_function(newlocale)
find_function(setlocale)
find_function(snprintf_l)
find_function(uselocale)
find_function(popcount32)
find_function(futimens)
find_function(futimes)
find_function(localtime_r)
find_function(realpath)
if(ANDROID AND ANDROID_NDK_MAJOR GREATER 13)
list(APPEND FUNCTION_DEFINES HAVE_STRTOF_L)
elseif(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
# The strtof_l on Linux not actually exposed nor actually strtof_l
find_function(strtof_l)
endif()
check_include_files("xlocale.h" HAVE_XLOCALE)
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Generic")
check_function_exists(snprintf_l HAVE_SNPRINTF_L)
if(ANDROID AND ANDROID_NDK_MAJOR GREATER 13)
set(HAVE_STRTOF_L ON)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
# The strtof_l on Linux not actually exposed nor actually strtof_l
set(HAVE_STRTOF_L OFF)
else()
check_function_exists(strtof_l HAVE_STRTOF_L)
endif()
check_function_exists(newlocale HAVE_NEWLOCALE)
check_function_exists(freelocale HAVE_FREELOCALE)
check_function_exists(uselocale HAVE_USELOCALE)
check_function_exists(setlocale HAVE_SETLOCALE)
else()
if(DEFINED 3DS OR DEFINED WII OR DEFINED SWITCH)
set(CMAKE_REQUIRED_FLAGS -Wl,--require-defined,snprintf_l)
check_function_exists(snprintf_l HAVE_SNPRINTF_L)
set(CMAKE_REQUIRED_FLAGS -Wl,--require-defined,strtof_l)
check_function_exists(strtof_l HAVE_STRTOF_L)
set(CMAKE_REQUIRED_FLAGS -Wl,--require-defined,newlocale)
check_function_exists(newlocale HAVE_NEWLOCALE)
set(CMAKE_REQUIRED_FLAGS -Wl,--require-defined,freelocale)
check_function_exists(freelocale HAVE_FREELOCALE)
set(CMAKE_REQUIRED_FLAGS -Wl,--require-defined,uselocale)
check_function_exists(uselocale HAVE_USELOCALE)
set(CMAKE_REQUIRED_FLAGS -Wl,--require-defined,setlocale)
check_function_exists(setlocale HAVE_SETLOCALE)
unset(CMAKE_REQUIRED_FLAGS)
endif()
set(ENABLE_VFS ON)
if(CMAKE_SYSTEM_NAME STREQUAL "Generic")
if(NOT IS_EMBEDDED)
set(DISABLE_DEPS ON CACHE BOOL "This platform cannot build with dependencies" FORCE)
endif()
@ -350,9 +363,6 @@ else()
set(ENABLE_EXTRA ON)
endif()
check_function_exists(chmod HAVE_CHMOD)
check_function_exists(umask HAVE_UMASK)
if(USE_PTHREADS)
check_include_files("pthread.h" HAVE_PTHREAD_H)
if(HAVE_PTHREAD_H)
@ -362,79 +372,33 @@ if(USE_PTHREADS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
endif()
check_function_exists(pthread_create HAVE_PTHREAD_CREATE)
find_function(pthread_create)
if(HAVE_PTHREAD_CREATE)
add_definitions(-DUSE_PTHREADS)
check_include_files("pthread_np.h" HAVE_PTHREAD_NP_H)
check_function_exists(pthread_setname_np HAVE_PTHREAD_SETNAME_NP)
check_function_exists(pthread_set_name_np HAVE_PTHREAD_SET_NAME_NP)
find_function(pthread_setname_np)
find_function(pthread_set_name_np)
endif()
endif()
endif()
set(FUNCTION_DEFINES)
if(HAVE_STRDUP)
list(APPEND FUNCTION_DEFINES HAVE_STRDUP)
endif()
if(HAVE_STRNDUP)
list(APPEND FUNCTION_DEFINES HAVE_STRNDUP)
endif()
if(HAVE_STRLCPY)
list(APPEND FUNCTION_DEFINES HAVE_STRLCPY)
endif()
if(HAVE_VASPRINTF)
list(APPEND FUNCTION_DEFINES HAVE_VASPRINTF)
endif()
if(HAVE_LOCALTIME_R)
list(APPEND FUNCTION_DEFINES HAVE_LOCALTIME_R)
endif()
if(HAVE_NEWLOCALE AND HAVE_FREELOCALE AND HAVE_USELOCALE OR APPLE)
if(HAVE_NEWLOCALE AND HAVE_FREELOCALE OR APPLE)
list(APPEND FUNCTION_DEFINES HAVE_LOCALE)
if (HAVE_SNPRINTF_L)
list(APPEND FUNCTION_DEFINES HAVE_SNPRINTF_L)
endif()
endif()
if(HAVE_SETLOCALE)
list(APPEND FUNCTION_DEFINES HAVE_SETLOCALE)
endif()
if (HAVE_STRTOF_L)
list(APPEND FUNCTION_DEFINES HAVE_STRTOF_L)
endif()
if(HAVE_XLOCALE)
list(APPEND FUNCTION_DEFINES HAVE_XLOCALE)
endif()
if(HAVE_CHMOD)
list(APPEND FUNCTION_DEFINES HAVE_CHMOD)
endif()
if(HAVE_UMASK)
list(APPEND FUNCTION_DEFINES HAVE_UMASK)
endif()
if(HAVE_PTHREAD_NP_H)
list(APPEND FUNCTION_DEFINES HAVE_PTHREAD_NP_H)
endif()
if(HAVE_PTHREAD_SETNAME_NP)
list(APPEND FUNCTION_DEFINES HAVE_PTHREAD_SETNAME_NP)
endif()
if(HAVE_PTHREAD_SET_NAME_NP)
list(APPEND FUNCTION_DEFINES HAVE_PTHREAD_SET_NAME_NP)
endif()
# Feature dependencies
set(FEATURE_DEFINES)
set(FEATURE_FLAGS)
@ -449,26 +413,21 @@ if(CMAKE_SYSTEM_NAME MATCHES ".*BSD|DragonFly")
else()
find_feature(USE_EDITLINE "libedit")
endif()
if(BUILD_GL)
find_package(OpenGL QUIET)
if(NOT OPENGL_FOUND)
if(NOT OPENGL_FOUND OR (APPLE AND MACOSX_SDK VERSION_GREATER 10.14))
set(BUILD_GL OFF CACHE BOOL "OpenGL not found" FORCE)
elseif(UNIX AND NOT APPLE AND TARGET OpenGL::GL)
set(OPENGL_LIBRARY OpenGL::GL)
endif()
endif()
if(NOT BUILD_GL AND NOT LIBMGBA_ONLY)
set(OPENGL_LIBRARY "" CACHE PATH "" FORCE)
endif()
if(BUILD_GLES2 AND NOT BUILD_RASPI AND NOT CMAKE_SYSTEM_NAME MATCHES "^(Windows|Darwin|Linux|.*BSD|DragonFly|Haiku)$")
find_path(OPENGLES2_INCLUDE_DIR NAMES GLES2/gl2.h)
find_library(OPENGLES2_LIBRARY NAMES GLESv2 GLESv2_CM)
if(NOT OPENGLES2_INCLUDE_DIR OR NOT OPENGLES2_LIBRARY)
set(BUILD_GLES2 OFF CACHE BOOL "OpenGL|ES 2 not found" FORCE)
if(OpenGL_GLX_FOUND)
list(APPEND FEATURES GLX)
endif()
if(OpenGL_EGL_FOUND)
list(APPEND FEATURES EGL)
list(APPEND OPENGL_LIBRARY ${OPENGL_egl_LIBRARY})
endif()
endif()
if(NOT BUILD_GLES2 AND NOT LIBMGBA_ONLY)
set(OPENGLES2_LIBRARY "" CACHE PATH "" FORCE)
endif()
if(BUILD_GL)
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/opengl/gl.c)
@ -476,24 +435,58 @@ if(BUILD_GL)
list(APPEND DEPENDENCY_LIB ${OPENGL_LIBRARY})
include_directories(${OPENGL_INCLUDE_DIR})
endif()
if(NOT BUILD_GL AND NOT LIBMGBA_ONLY)
set(OPENGL_LIBRARY "" CACHE PATH "" FORCE)
endif()
if(BUILD_GLES2 AND NOT BUILD_GL)
if(APPLE AND MACOSX_SDK VERSION_GREATER 10.14)
find_package(OpenGL QUIET)
set(OPENGLES2_INCLUDE_DIR ${OPENGL_INCLUDE_DIR})
set(OPENGLES2_LIBRARY ${OPENGL_LIBRARY})
endif()
find_path(OPENGLES2_INCLUDE_DIR NAMES GLES2/gl2.h)
find_library(OPENGLES2_LIBRARY NAMES GLESv2 GLESv2_CM)
if(NOT OPENGLES2_INCLUDE_DIR OR NOT OPENGLES2_LIBRARY)
set(BUILD_GLES2 OFF CACHE BOOL "OpenGL|ES 2 not found" FORCE)
endif()
endif()
if(BUILD_GLES2)
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/opengl/gles2.c)
list(APPEND FEATURE_DEFINES BUILD_GLES2)
list(APPEND DEPENDENCY_LIB ${OPENGLES2_LIBRARY})
include_directories(${OPENGLES2_INCLUDE_DIR})
endif()
if(BUILD_GLES3)
if(BUILD_GLES3 AND NOT BUILD_GL)
if(APPLE AND MACOSX_SDK VERSION_GREATER 10.14)
find_package(OpenGL QUIET)
set(OPENGLES3_INCLUDE_DIR ${OPENGL_INCLUDE_DIR})
set(OPENGLES3_LIBRARY ${OPENGL_LIBRARY})
endif()
find_path(OPENGLES3_INCLUDE_DIR NAMES GLES3/gl3.h)
find_library(OPENGLES3_LIBRARY NAMES GLESv3 GLESv2)
list(APPEND FEATURE_DEFINES BUILD_GLES3)
if(NOT OPENGLES3_INCLUDE_DIR OR NOT OPENGLES3_LIBRARY)
set(BUILD_GLES3 OFF CACHE BOOL "OpenGL|ES 3 not found" FORCE)
endif()
endif()
if(BUILD_GLES3)
list(APPEND FEATURE_DEFINES BUILD_GLES3)
list(APPEND DEPENDENCY_LIB ${OPENGLES3_LIBRARY})
include_directories(${OPENGLES3_INCLUDE_DIR})
endif()
if(BUILD_GLES2 OR BUILD_GLES3)
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/opengl/gles2.c)
endif()
if(NOT BUILD_GLES2 AND NOT BUILD_GLES3 AND NOT LIBMGBA_ONLY)
set(OPENGLES2_LIBRARY "" CACHE PATH "" FORCE)
endif()
if(DISABLE_DEPS)
set(USE_GDB_STUB OFF)
set(ENABLE_GDB_STUB OFF)
set(USE_DISCORD_RPC OFF)
set(USE_JSON_C OFF)
set(USE_SQLITE3 OFF)
set(USE_PNG OFF)
set(USE_ZLIB OFF)
@ -533,16 +526,18 @@ if(USE_EDITLINE)
list(APPEND FEATURES EDITLINE)
include_directories(AFTER ${LIBEDIT_INCLUDE_DIRS})
link_directories(${LIBEDIT_LIBRARY_DIRS})
set(DEBUGGER_LIB ${LIBEDIT_LIBRARIES})
if(BUILD_STATIC)
set(DEBUGGER_LIB ${LIBEDIT_STATIC_LIBRARIES})
else()
set(DEBUGGER_LIB ${LIBEDIT_LIBRARIES})
endif()
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS},libedit2")
list(APPEND FEATURE_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/feature/editline/cli-el-backend.c")
else()
set(DEBUGGER_LIB "")
endif()
if(USE_GDB_STUB)
list(APPEND FEATURES GDB_STUB)
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/debugger/gdb-stub.c)
if(ENABLE_GDB_STUB)
list(APPEND ENABLES GDB_STUB)
endif()
source_group("Debugger" FILES ${DEBUGGER_SRC})
@ -556,7 +551,7 @@ if(USE_FFMPEG)
endif()
include_directories(AFTER ${FFMPEG_INCLUDE_DIRS} ${LIBAVCODEC_INCLUDE_DIRS} ${LIBAVFILTER_INCLUDE_DIRS} ${LIBAVFORMAT_INCLUDE_DIRS} ${LIBAVRESAMPLE_INCLUDE_DIRS} ${LIBAVUTIL_INCLUDE_DIRS} ${LIBSWRESAMPLE_INCLUDE_DIRS} ${LIBSWSCALE_INCLUDE_DIRS})
link_directories(${FFMPEG_LIBRARY_DIRS} ${LIBAVCODEC_LIBRARY_DIRS} ${LIBAVFILTER_LIBRARY_DIRS} ${LIBAVFORMAT_LIBRARY_DIRS} ${LIBAVRESAMPLE_LIBRARY_DIRS} ${LIBAVUTIL_LIBRARY_DIRS} ${LIBSWRESAMPLE_LIBRARY_DIRS} ${LIBSWSCALE_LIBRARY_DIRS})
list(APPEND FEATURE_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/feature/ffmpeg/ffmpeg-encoder.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/feature/ffmpeg/ffmpeg-decoder.c")
list(APPEND FEATURE_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/feature/ffmpeg/ffmpeg-encoder.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/feature/ffmpeg/ffmpeg-decoder.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/feature/ffmpeg/ffmpeg-scale.c")
list(APPEND DEPENDENCY_LIB ${FFMPEG_LIBRARIES} ${LIBAVCODEC_LIBRARIES} ${LIBAVFILTER_LIBRARIES} ${LIBAVFORMAT_LIBRARIES} ${LIBAVRESAMPLE_LIBRARIES} ${LIBAVUTIL_LIBRARIES} ${LIBSWSCALE_LIBRARIES} ${LIBSWRESAMPLE_LIBRARIES})
if(WIN32 AND NOT DEFINED VCPKG_TARGET_TRIPLET)
list(APPEND DEPENDENCY_LIB bcrypt)
@ -582,13 +577,10 @@ if(USE_FFMPEG)
set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "libavcodec-extra|libavcodec-ffmpeg-extra${LIBAVCODEC_VERSION_MAJOR}")
endif()
if(APPLE)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -framework VideoDecodeAcceleration -framework CoreVideo")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework VideoDecodeAcceleration -framework CoreVideo")
list(APPEND DEPENDENCY_LIB "-framework VideoDecodeAcceleration" "-framework CoreVideo")
endif()
endif()
list(APPEND THIRD_PARTY_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/third-party/blip_buf/blip_buf.c")
if(WANT_ZLIB AND NOT USE_ZLIB)
set(SKIP_INSTALL_ALL ON)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/third-party/zlib zlib EXCLUDE_FROM_ALL)
@ -654,14 +646,15 @@ endif()
if(USE_LIBZIP)
if(TARGET libzip::zip)
list(APPEND DEPENDENCY_LIB libzip::zip)
set(ZIP_LIBRARIES libzip::zip)
elseif(TARGET zip)
list(APPEND DEPENDENCY_LIB zip)
set(ZIP_LIBRARIES zip)
else()
include_directories(AFTER ${LIBZIP_INCLUDE_DIRS})
link_directories(${LIBZIP_LIBRARY_DIRS})
list(APPEND DEPENDENCY_LIB ${LIBZIP_LIBRARIES})
set(ZIP_LIBRARIES ${LIBZIP_LIBRARIES})
endif()
list(APPEND DEPENDENCY_LIB ${ZIP_LIBRARIES})
list(APPEND FEATURES LIBZIP)
list(APPEND VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-zip.c)
string(REGEX MATCH "^[0-9]+" LIBZIP_VERSION_MAJOR "${libzip_VERSION}")
@ -675,6 +668,7 @@ if(USE_LIBZIP)
elseif(USE_MINIZIP)
include_directories(AFTER ${MINIZIP_INCLUDE_DIRS})
link_directories(${MINIZIP_LIBRARY_DIRS})
set(ZIP_LIBRARIES ${MINIZIP_LIBRARIES})
list(APPEND DEPENDENCY_LIB ${MINIZIP_LIBRARIES})
list(APPEND FEATURES MINIZIP)
list(APPEND VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-zip.c)
@ -730,8 +724,12 @@ if (USE_LZMA)
endif()
if(USE_EPOXY)
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/opengl/gl.c ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/opengl/gles2.c)
list(APPEND FEATURE_DEFINES BUILD_GL BUILD_GLES2)
if(NOT APPLE OR NOT MACOSX_SDK VERSION_GREATER 10.14)
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/opengl/gl.c)
list(APPEND FEATURE_DEFINES BUILD_GL)
endif()
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/opengl/gles2.c)
list(APPEND FEATURE_DEFINES BUILD_GLES2 BUILD_GLES3)
list(APPEND FEATURES EPOXY)
include_directories(AFTER ${EPOXY_INCLUDE_DIRS})
link_directories(${EPOXY_LIBRARY_DIRS})
@ -766,6 +764,7 @@ if(USE_ELF)
endif()
if (USE_DISCORD_RPC)
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.7")
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/third-party/discord-rpc discord-rpc EXCLUDE_FROM_ALL)
list(APPEND FEATURES DISCORD_RPC)
include_directories(AFTER ${CMAKE_CURRENT_SOURCE_DIR}/src/third-party/discord-rpc/include)
@ -773,6 +772,43 @@ endif()
if(ENABLE_SCRIPTING)
list(APPEND ENABLES SCRIPTING)
find_feature(USE_JSON_C "json-c")
if(NOT USE_LUA VERSION_LESS 5.1)
find_feature(USE_LUA "Lua" ${USE_LUA})
else()
find_feature(USE_LUA "Lua")
endif()
if(USE_JSON_C)
list(APPEND FEATURES JSON_C)
if(TARGET json-c::json-c)
list(APPEND DEPENDENCY_LIB json-c::json-c)
get_target_property(JSON_C_SONAME json-c::json-c IMPORTED_SONAME_NONE)
string(SUBSTRING "${JSON_C_SONAME}" 13 -1 JSON_C_SOVER)
# This is only needed on 0.15, but the target unhelpfully does not contain version info
get_target_property(JSON_C_INCLUDE_DIR json-c::json-c INTERFACE_INCLUDE_DIRECTORIES)
if(NOT JSON_C_INCLUDE_DIR MATCHES json-c$)
include_directories(AFTER "${JSON_C_INCLUDE_DIR}/json-c")
endif()
else()
if(${json-c_VERSION} VERSION_LESS 0.13.0)
set(JSON_C_SOVER 3)
elseif(${json-c_VERSION} VERSION_LESS 0.15.0)
set(JSON_C_SOVER 4)
endif()
list(APPEND DEPENDENCY_LIB ${json-c_LIBRARIES})
include_directories(AFTER ${json-c_INCLUDE_DIRS})
link_directories(${json-c_LIBDIRS})
endif()
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS},libjson-c${JSON_C_SOVER}")
endif()
if(USE_LUA)
list(APPEND FEATURE_DEFINES USE_LUA)
include_directories(AFTER ${LUA_INCLUDE_DIR})
list(APPEND FEATURE_DEFINES LUA_VERSION_ONLY=\"${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}\")
list(APPEND DEPENDENCY_LIB ${LUA_LIBRARY})
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS},liblua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}-0")
endif()
if(BUILD_PYTHON)
find_package(PythonLibs ${USE_PYTHON_VERSION})
@ -780,6 +816,7 @@ if(ENABLE_SCRIPTING)
include_directories(AFTER ${PYTHON_INCLUDE_DIRS})
list(APPEND ENABLES PYTHON)
endif()
add_subdirectory(src/script)
endif()
add_subdirectory(src/arm)
@ -790,6 +827,7 @@ add_subdirectory(src/sm83)
add_subdirectory(src/util)
list(APPEND GUI_SRC ${EXTRA_GUI_SRC})
list(APPEND UTIL_BASE_SRC ${CMAKE_CURRENT_BINARY_DIR}/version.c)
list(APPEND UTIL_SRC ${CMAKE_CURRENT_BINARY_DIR}/version.c)
set(TEST_SRC ${CORE_TEST_SRC})
@ -807,10 +845,19 @@ if(M_CORE_GBA)
list(APPEND TEST_SRC ${ARM_TEST_SRC} ${GBA_TEST_SRC})
endif()
if(USE_DEBUGGERS)
if(ENABLE_DEBUGGERS)
list(APPEND FEATURE_SRC ${DEBUGGER_SRC})
list(APPEND TEST_SRC ${DEBUGGER_TEST_SRC})
list(APPEND FEATURES DEBUGGERS)
list(APPEND ENABLES DEBUGGERS)
endif()
if(ENABLE_SCRIPTING)
list(APPEND FEATURE_SRC ${SCRIPT_SRC})
list(APPEND TEST_SRC ${SCRIPT_TEST_SRC})
endif()
if(ENABLE_VFS)
list(APPEND ENABLES VFS DIRECTORIES)
endif()
foreach(FEATURE IN LISTS FEATURES)
@ -826,7 +873,6 @@ source_group("Extra features" FILES ${FEATURE_SRC})
source_group("Third-party code" FILES ${THIRD_PARTY_SRC})
# Platform binaries
set(OS_DEFINES)
if(DEFINED 3DS)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/platform/3ds ${CMAKE_CURRENT_BINARY_DIR}/3ds)
endif()
@ -851,7 +897,11 @@ list(APPEND CORE_SRC
${THIRD_PARTY_SRC})
list(APPEND TEST_SRC ${UTIL_TEST_SRC})
set(SRC ${CORE_SRC} ${VFS_SRC})
set(SRC ${CORE_SRC})
if(ENABLE_VFS)
list(APPEND SRC ${VFS_SRC})
endif()
if(NOT MINIMAL_CORE)
set(ENABLE_EXTRA ON)
if(M_CORE_GBA)
@ -873,13 +923,17 @@ if(ENABLE_EXTRA)
list(APPEND SRC ${EXTRA_SRC})
endif()
if(ENABLE_SCRIPTING)
list(APPEND SRC ${CORE_SCRIPT_SRC})
endif()
if(NOT SKIP_LIBRARY)
if(NOT BUILD_STATIC AND NOT BUILD_SHARED)
set(BUILD_SHARED ON)
endif()
if(BUILD_SHARED)
add_library(${BINARY_NAME} SHARED ${SRC} ${VFS_SRC})
add_library(${BINARY_NAME} SHARED ${SRC})
set(EXPORT_DEFINES MGBA_DLL)
if(BUILD_STATIC)
add_library(${BINARY_NAME}-static STATIC ${SRC})
@ -899,21 +953,29 @@ if(NOT SKIP_LIBRARY)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/mgba-util)
if(BUILD_STATIC)
# Some versions of CMake are remarkably bad about deduplicating this list,
# leading to issues with static linking. Let's do it manually.
list(REVERSE DEPENDENCY_LIB)
list(REMOVE_DUPLICATES DEPENDENCY_LIB)
list(REVERSE DEPENDENCY_LIB)
endif()
target_link_libraries(${BINARY_NAME} ${DEBUGGER_LIB} ${DEPENDENCY_LIB} ${OS_LIB})
install(TARGETS ${BINARY_NAME} LIBRARY DESTINATION ${LIBDIR} COMPONENT lib${BINARY_NAME} NAMELINK_SKIP ARCHIVE DESTINATION ${LIBDIR} RUNTIME DESTINATION ${LIBDIR} COMPONENT lib${BINARY_NAME})
if(BUILD_SHARED)
install(TARGETS ${BINARY_NAME} LIBRARY DESTINATION ${LIBDIR} COMPONENT ${BINARY_NAME}-dev NAMELINK_ONLY)
endif()
if(UNIX AND NOT APPLE AND NOT HAIKU)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-16.png DESTINATION share/icons/hicolor/16x16/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-24.png DESTINATION share/icons/hicolor/24x24/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-32.png DESTINATION share/icons/hicolor/32x32/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-48.png DESTINATION share/icons/hicolor/48x48/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-64.png DESTINATION share/icons/hicolor/64x64/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-96.png DESTINATION share/icons/hicolor/96x96/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-128.png DESTINATION share/icons/hicolor/128x128/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-256.png DESTINATION share/icons/hicolor/256x256/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-512.png DESTINATION share/icons/hicolor/512x512/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-16.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/16x16/apps RENAME io.mgba.${PROJECT_NAME}.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-24.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/24x24/apps RENAME io.mgba.${PROJECT_NAME}.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-32.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps RENAME io.mgba.${PROJECT_NAME}.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-48.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/48x48/apps RENAME io.mgba.${PROJECT_NAME}.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-64.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/64x64/apps RENAME io.mgba.${PROJECT_NAME}.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-96.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/96x96/apps RENAME io.mgba.${PROJECT_NAME}.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-128.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps RENAME io.mgba.${PROJECT_NAME}.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-256.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/256x256/apps RENAME io.mgba.${PROJECT_NAME}.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-512.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/512x512/apps RENAME io.mgba.${PROJECT_NAME}.png COMPONENT ${BINARY_NAME})
endif()
else()
set(BUILD_SHARED OFF)
@ -939,9 +1001,9 @@ endif()
if(BUILD_LIBRETRO)
file(GLOB RETRO_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/libretro/*.c)
add_library(${BINARY_NAME}_libretro SHARED ${CORE_SRC} ${RETRO_SRC})
add_library(${BINARY_NAME}_libretro SHARED ${CORE_SRC} ${RETRO_SRC} ${CORE_VFS_SRC})
add_dependencies(${BINARY_NAME}_libretro ${BINARY_NAME}-version-info)
set_target_properties(${BINARY_NAME}_libretro PROPERTIES PREFIX "" COMPILE_DEFINITIONS "__LIBRETRO__;COLOR_16_BIT;COLOR_5_6_5;DISABLE_THREADING;MGBA_STANDALONE;${OS_DEFINES};${FUNCTION_DEFINES};MINIMAL_CORE=2")
set_target_properties(${BINARY_NAME}_libretro PROPERTIES PREFIX "" COMPILE_DEFINITIONS "__LIBRETRO__;COLOR_16_BIT;COLOR_5_6_5;DISABLE_THREADING;MGBA_STANDALONE;${OS_DEFINES};${FUNCTION_DEFINES};ENABLE_VFS;MINIMAL_CORE=2")
target_link_libraries(${BINARY_NAME}_libretro ${OS_LIB})
if(MSVC)
install(TARGETS ${BINARY_NAME}_libretro RUNTIME DESTINATION ${LIBRETRO_LIBDIR} COMPONENT ${BINARY_NAME}_libretro)
@ -950,20 +1012,34 @@ if(BUILD_LIBRETRO)
endif()
endif()
if(BUILD_OPENEMU)
find_library(FOUNDATION Foundation)
find_library(OPENEMUBASE OpenEmuBase)
file(GLOB OE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/openemu/*.m)
add_library(${BINARY_NAME}-openemu MODULE ${CORE_SRC} ${OS_SRC})
set_target_properties(${BINARY_NAME}-openemu PROPERTIES
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/openemu/Info.plist.in
BUNDLE TRUE
BUNDLE_EXTENSION oecoreplugin
OUTPUT_NAME ${PROJECT_NAME}
COMPILE_OPTIONS "-fobjc-arc"
COMPILE_DEFINITIONS "DISABLE_THREADING;MGBA_STANDALONE;${OS_DEFINES};${FUNCTION_DEFINES};MINIMAL_CORE=1")
target_link_libraries(${BINARY_NAME}-openemu ${OS_LIB} ${FOUNDATION} ${OPENEMUBASE})
install(TARGETS ${BINARY_NAME}-openemu LIBRARY DESTINATION ${OE_LIBDIR} COMPONENT ${BINARY_NAME}.oecoreplugin NAMELINK_SKIP)
if(BUILD_QT AND (WIN32 OR APPLE OR CMAKE_SYSTEM_NAME STREQUAL "Linux") AND ENABLE_VFS)
set(BUILD_UPDATER ON)
endif()
if(BUILD_UPDATER)
add_executable(updater-stub WIN32 ${CORE_VFS_SRC} ${VFS_SRC} ${OS_SRC} ${UTIL_BASE_SRC} ${THIRD_PARTY_SRC}
${CMAKE_CURRENT_SOURCE_DIR}/src/core/config.c
${CMAKE_CURRENT_SOURCE_DIR}/src/feature/updater.c
${CMAKE_CURRENT_SOURCE_DIR}/src/tools/updater-main.c)
target_link_libraries(updater-stub ${ZLIB_LIBRARY} ${ZLIB_LIBRARY} ${ZIP_LIBRARIES} ${OS_LIB} ${PLATFORM_LIBRARY})
set_target_properties(updater-stub PROPERTIES COMPILE_DEFINITIONS "${OS_DEFINES};${FUNCTION_DEFINES};${FEATURE_DEFINES};BUILD_STATIC")
if(MSVC)
set_target_properties(updater-stub PROPERTIES LINK_FLAGS /ENTRY:mainCRTStartup)
else()
set_target_properties(updater-stub PROPERTIES LINK_FLAGS_RELEASE -s)
set_target_properties(updater-stub PROPERTIES LINK_FLAGS_RELWITHDEBINFO -s)
endif()
endif()
if(ENABLE_SCRIPTING AND BUILD_DOCGEN)
add_executable(docgen ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/docgen.c)
target_link_libraries(docgen ${OS_LIB} ${PLATFORM_LIBRARY} ${BINARY_NAME})
set_target_properties(docgen PROPERTIES COMPILE_DEFINITIONS "${OS_DEFINES};${FUNCTION_DEFINES};${FEATURE_DEFINES}")
endif()
if(BUILD_MAINTAINER_TOOLS)
add_executable(font-sdf-tool ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/font-sdf.c ${CMAKE_CURRENT_SOURCE_DIR}/src/util/gui/font-metrics.c)
target_link_libraries(font-sdf-tool ${OS_LIB} ${PLATFORM_LIBRARY} ${BINARY_NAME})
endif()
if(BUILD_SDL)
@ -974,6 +1050,14 @@ if(BUILD_QT)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/platform/qt ${CMAKE_CURRENT_BINARY_DIR}/qt)
endif()
if(BUILD_HEADLESS)
add_executable(${BINARY_NAME}-headless ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/headless-main.c)
target_link_libraries(${BINARY_NAME}-headless ${PLATFORM_LIBRARY} ${BINARY_NAME})
debug_strip(${BINARY_NAME}-headless)
target_compile_definitions(${BINARY_NAME}-headless PRIVATE "${OS_DEFINES};${FEATURE_DEFINES};${FUNCTION_DEFINES}")
install(TARGETS ${BINARY_NAME}-headless DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${BINARY_NAME}-headless)
endif()
if(NOT USE_CMOCKA)
set(BUILD_SUITE OFF)
endif()
@ -1003,7 +1087,7 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/mgba-util DESTINATION ${CM
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/mgba/flags.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mgba COMPONENT ${BINARY_NAME}-dev)
# Packaging
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/licenses/blip_buf.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}/licenses COMPONENT ${BINARY_NAME})
install(FILES DESTINATION ${CMAKE_INSTALL_DOCDIR}/licenses COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/licenses/inih.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}/licenses COMPONENT ${BINARY_NAME})
if(USE_DISCORD_RPC)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/licenses/discord-rpc.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}/licenses COMPONENT ${BINARY_NAME})
@ -1094,8 +1178,8 @@ set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE)
set(CPACK_RESOURCE_FILE_README ${CMAKE_CURRENT_SOURCE_DIR}/README.md)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "mGBA Game Boy Advance Emulator")
set(CPACK_PACKAGE_VENDOR "Jeffrey Pfau")
set(CPACK_PACKAGE_CONTACT "Jeffrey Pfau <jeffrey@endrift.com>")
set(CPACK_PACKAGE_VENDOR "Vicki Pfau")
set(CPACK_PACKAGE_CONTACT "Vicki Pfau <vi@endrift.com>")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
set(CPACK_DEBIAN_PACKAGE_SECTION "games")
@ -1107,6 +1191,9 @@ endif()
if(DISTBUILD)
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
set(CPACK_DMG_FILESYSTEM "HFS+")
set(CPACK_DMG_FORMAT "UDBZ")
set(CPACK_DMG_VOLUME_NAME "${PROJECT_NAME} ${VERSION_STRING}")
if(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo" AND BUILD_SHARED)
if(NOT APPLE)
add_custom_command(TARGET ${BINARY_NAME} POST_BUILD COMMAND "${OBJCOPY}" --only-keep-debug "$<TARGET_FILE:${BINARY_NAME}>" "$<TARGET_FILE:${BINARY_NAME}>.debug")
@ -1117,7 +1204,8 @@ if(DISTBUILD)
endif()
if(APPLE)
set(CPACK_COMPONENTS_ALL ${BINARY_NAME} ${BINARY_NAME}-qt ${BINARY_NAME}-sdl ${BINARY_NAME}-qt-dbg ${BINARY_NAME}-sdl-dbg ${BINARY_NAME}-perf)
set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/platform/cmake/DMGOverrides.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/DMGOverrides.cmake @ONLY)
set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_CURRENT_BINARY_DIR}/DMGOverrides.cmake)
elseif(WIN32)
set(CPACK_COMPONENTS_ALL ${BINARY_NAME} ${BINARY_NAME}-qt ${BINARY_NAME}-sdl ${BINARY_NAME}-qt-dbg ${BINARY_NAME}-sdl-dbg ${BINARY_NAME}-perf installer)
elseif(3DS)
@ -1167,6 +1255,11 @@ if(SDL_FOUND)
cpack_add_component(${BINARY_NAME}-sdl GROUP sdl)
endif()
if(BUILD_HEADLESS)
cpack_add_component_group(headless PARENT_GROUP base)
cpack_add_component(${BINARY_NAME}-headless GROUP headless)
endif()
if(DISTBUILD)
cpack_add_component_group(debug PARENT_GROUP dev)
if(BUILD_SHARED AND NOT IS_EMBEDDED)
@ -1181,6 +1274,9 @@ if(DISTBUILD)
if(SDL_FOUND)
cpack_add_component(${BINARY_NAME}-sdl-dbg GROUP debug)
endif()
if(BUILD_HEADLESS)
cpack_add_component(${BINARY_NAME}-headless-dbg GROUP debug)
endif()
if(WIN32)
cpack_add_component_group(installer PARENT_GROUP base)
endif()
@ -1226,11 +1322,11 @@ if(NOT QUIET AND NOT LIBMGBA_ONLY)
message(STATUS " Game Boy Advance: ${M_CORE_GBA}")
message(STATUS " Game Boy: ${M_CORE_GB}")
message(STATUS "Features:")
message(STATUS " Debuggers: ${USE_DEBUGGERS}")
message(STATUS " Debuggers: ${ENABLE_DEBUGGERS}")
if(NOT WIN32)
message(STATUS " CLI debugger: ${USE_EDITLINE}")
endif()
message(STATUS " GDB stub: ${USE_GDB_STUB}")
message(STATUS " GDB stub: ${ENABLE_GDB_STUB}")
message(STATUS " GIF/Video recording: ${USE_FFMPEG}")
message(STATUS " Screenshot/advanced savestate support: ${USE_PNG}")
message(STATUS " ZIP support: ${SUMMARY_ZIP}")
@ -1239,20 +1335,28 @@ if(NOT QUIET AND NOT LIBMGBA_ONLY)
message(STATUS " ELF loading support: ${USE_ELF}")
message(STATUS " Discord Rich Presence support: ${USE_DISCORD_RPC}")
message(STATUS " OpenGL support: ${SUMMARY_GL}")
message(STATUS "Scripting support: ${ENABLE_SCRIPTING}")
if(ENABLE_SCRIPTING)
if(LUA_VERSION_STRING)
message(STATUS " Lua: ${LUA_VERSION_STRING}")
else()
message(STATUS " Lua: ${USE_LUA}")
endif()
message(STATUS " storage API: ${USE_JSON_C}")
endif()
message(STATUS "Frontends:")
message(STATUS " Qt: ${BUILD_QT}")
message(STATUS " SDL (${SDL_VERSION}): ${BUILD_SDL}")
message(STATUS " Headless: ${BUILD_HEADLESS}")
message(STATUS " Python bindings: ${BUILD_PYTHON}")
message(STATUS " Examples: ${BUILD_EXAMPLE}")
message(STATUS "Test tools:")
message(STATUS " Profiling: ${BUILD_PERF}")
message(STATUS " Test harness: ${BUILD_TEST}")
message(STATUS " Test suite: ${BUILD_SUITE}")
message(STATUS " Video test suite: ${BUILD_CINEMA}")
message(STATUS " Python bindings: ${BUILD_PYTHON}")
message(STATUS " Examples: ${BUILD_EXAMPLE}")
message(STATUS "Cores:")
message(STATUS " Libretro core: ${BUILD_LIBRETRO}")
if(APPLE)
message(STATUS " OpenEmu core: ${BUILD_OPENEMU}")
endif()
message(STATUS "Libraries:")
message(STATUS " Static: ${BUILD_STATIC}")
message(STATUS " Shared: ${BUILD_SHARED}")

21
CMakePresets.json Normal file
View File

@ -0,0 +1,21 @@
{
"version": 3,
"configurePresets": [
{
"name": "clang",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
}
},
{
"name": "gcc",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
}
}
]
}

View File

@ -55,18 +55,18 @@ Enum values and `#define`s should be all caps with underscores.
Good:
static int _localVariable;
struct LocalStruct {
void (*methodName)(struct LocalStruct struct, param);
int memberName;
};
enum {
ENUM_ITEM_1,
ENUM_ITEM_2
};
void LocalStructCreate(struct LocalStruct* struct);
void functionName(int argument);
@ -124,7 +124,7 @@ Bad (missing space):
if (condition){
block;
}
### Spacing
Indentation should be done using tabs and should match the level of braces. Alignment within a line should be done sparingly, but only done with spaces.
@ -137,9 +137,9 @@ Good:
#ifndef FILE_NAME_H
#define FILE_NAME_H
// Header
#endif
There should be no comment on the `#endif`.

View File

@ -22,6 +22,7 @@ Features
- Solar sensor support for Boktai games.
- Game Boy Camera and Game Boy Printer support.
- A built-in BIOS implementation, and ability to load external BIOS files.
- Scripting support using Lua.
- Turbo/fast-forward support by holding Tab.
- Rewind by holding Backquote.
- Frameskip, configurable up to 10.
@ -33,7 +34,7 @@ Features
- Remappable controls for both keyboards and gamepads.
- Loading from ZIP and 7z files.
- IPS, UPS and BPS patch support.
- Game debugging via a command-line interface and GDB remote support, compatible with IDA Pro.
- Game debugging via a command-line interface and GDB remote support, compatible with Ghidra and IDA Pro.
- Configurable emulation rewinding.
- Support for loading and exporting GameShark and Action Replay snapshots.
- Cores available for RetroArch/Libretro and OpenEmu.
@ -49,22 +50,30 @@ The following mappers are fully supported:
- MBC2
- MBC3
- MBC3+RTC
- MBC30
- MBC5
- MBC5+Rumble
- MBC7
- Wisdom Tree (unlicensed)
- NT "old type" 1 and 2 (unlicensed multicart)
- NT "new type" (unlicensed MBC5-like)
- Pokémon Jade/Diamond (unlicensed)
- BBD (unlicensed MBC5-like)
- Hitek (unlicensed MBC5-like)
- Sachen MMC1 (unlicensed)
The following mappers are partially supported:
- MBC6 (missing flash memory write support)
- MMM01
- Pocket Cam
- TAMA5 (missing RTC support)
- TAMA5 (incomplete RTC support)
- HuC-1 (missing IR support)
- HuC-3 (missing RTC and IR support)
- HuC-3 (missing IR support)
- Sachen MMC2 (missing alternate wiring support)
- BBD (missing logo switching)
- Hitek (missing logo switching)
- GGB-81 (missing logo switching)
- Li Cheng (missing logo switching)
- Sintax (missing logo switching)
### Planned features
@ -72,15 +81,14 @@ The following mappers are partially supported:
- Dolphin/JOY bus link cable support.
- MP2k audio mixing, for higher quality sound than hardware.
- Re-recording support for tool-assist runs.
- Lua support for scripting.
- A comprehensive debug suite.
- Wireless adapter support.
Supported Platforms
-------------------
- Windows Vista or newer
- OS X 10.8 (Mountain Lion)[<sup>[3]</sup>](#osxver) or newer
- Windows 7 or newer
- OS X 10.9 (Mavericks)[<sup>[3]</sup>](#osxver) or newer
- Linux
- FreeBSD
- Nintendo 3DS
@ -114,17 +122,19 @@ Controls are configurable in the settings menu. Many game controllers should be
Compiling
---------
Compiling requires using CMake 3.1 or newer. GCC and Clang are both known to work to compile mGBA, but Visual Studio 2013 and older are known not to work. Support for Visual Studio 2015 and newer is coming soon.
Compiling requires using CMake 3.1 or newer. GCC, Clang, and Visual Studio 2019 are known to work for compiling mGBA.
#### Docker building
The recommended way to build for most platforms is to use Docker. Several Docker images are provided that contain the requisite toolchain and dependencies for building mGBA across several platforms.
Note: If you are on an older Windows system before Windows 10, you may need to configure your Docker to use VirtualBox shared folders to correctly map your current `mgba` checkout directory to the Docker image's working directory. (See issue [#1985](https://mgba.io/i/1985) for details.)
To use a Docker image to build mGBA, simply run the following command while in the root of an mGBA checkout:
docker run --rm -t -v $PWD:/home/mgba/src mgba/windows:w32
docker run --rm -it -v ${PWD}:/home/mgba/src mgba/windows:w32
This will produce a `build-win32` directory with the build products. Replace `mgba/windows:w32` with another Docker image for other platforms, which will produce a corresponding other directory. The following Docker images available on Docker Hub:
After starting the Docker container, it will produce a `build-win32` directory with the build products. Replace `mgba/windows:w32` with another Docker image for other platforms, which will produce a corresponding other directory. The following Docker images available on Docker Hub:
- mgba/3ds
- mgba/switch
@ -137,6 +147,8 @@ This will produce a `build-win32` directory with the build products. Replace `mg
- mgba/windows:w32
- mgba/windows:w64
If you want to speed up the build process, consider adding the flag `-e MAKEFLAGS=-jN` to do a parallel build for mGBA with `N` number of CPU cores.
#### *nix building
To use CMake to build on a Unix-based system, the recommended commands are as follows:
@ -151,7 +163,7 @@ This will build and install mGBA into `/usr/bin` and `/usr/lib`. Dependencies th
If you are on macOS, the steps are a little different. Assuming you are using the homebrew package manager, the recommended commands to obtain the dependencies and build are:
brew install cmake ffmpeg libzip qt5 sdl2 libedit pkg-config
brew install cmake ffmpeg libzip qt5 sdl2 libedit lua pkg-config
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..
@ -165,7 +177,7 @@ Note that you should not do a `make install` on macOS, as it will not work prope
To build on Windows for development, using MSYS2 is recommended. Follow the installation steps found on their [website](https://msys2.github.io). Make sure you're running the 32-bit version ("MSYS2 MinGW 32-bit") (or the 64-bit version "MSYS2 MinGW 64-bit" if you want to build for x86_64) and run this additional command (including the braces) to install the needed dependencies (please note that this involves downloading over 1100MiB of packages, so it will take a long time):
pacman -Sy --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,pkgconf,qt5,SDL2,ntldd-git}
pacman -Sy --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,lua,pkgconf,qt5,SDL2,ntldd-git}
Check out the source code by running this command:
@ -184,7 +196,7 @@ Please note that this build of mGBA for Windows is not suitable for distribution
To build using Visual Studio is a similarly complicated setup. To begin you will need to install [vcpkg](https://github.com/Microsoft/vcpkg). After installing vcpkg you will need to install several additional packages:
vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip sdl2 sqlite3
vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip lua sdl2 sqlite3
Note that this installation won't support hardware accelerated video encoding on Nvidia hardware. If you care about this, you'll need to install CUDA beforehand, and then substitute `ffmpeg[vpx,x264,nvcodec]` into the previous command.
@ -222,6 +234,8 @@ mGBA has no hard dependencies, however, the following optional dependencies are
- libzip or zlib: for loading ROMs stored in zip files.
- SQLite3: for game databases.
- libelf: for ELF loading.
- Lua: for scripting.
- json-c: for the scripting `storage` API.
SQLite3, libpng, and zlib are included with the emulator, so they do not need to be externally compiled first.
@ -234,7 +248,7 @@ Footnotes
<a name="flashdetect">[2]</a> Flash memory size detection does not work in some cases. These can be configured at runtime, but filing a bug is recommended if such a case is encountered.
<a name="osxver">[3]</a> 10.8 is only needed for the Qt port. It may be possible to build or running the Qt port on 10.7 or older, but this is not officially supported. The SDL port is known to work on 10.5, and may work on older.
<a name="osxver">[3]</a> 10.9 is only needed for the Qt port. It may be possible to build or running the Qt port on 10.7 or older, but this is not officially supported. The SDL port is known to work on 10.5, and may work on older.
[downloads]: http://mgba.io/downloads.html
[source]: https://github.com/mgba-emu/mgba/
@ -242,12 +256,11 @@ Footnotes
Copyright
---------
mGBA is Copyright © 2013 2021 Jeffrey Pfau. It is distributed under the [Mozilla Public License version 2.0](https://www.mozilla.org/MPL/2.0/). A copy of the license is available in the distributed LICENSE file.
mGBA is Copyright © 2013 2023 Jeffrey Pfau. It is distributed under the [Mozilla Public License version 2.0](https://www.mozilla.org/MPL/2.0/). A copy of the license is available in the distributed LICENSE file.
mGBA contains the following third-party libraries:
- [inih](https://github.com/benhoyt/inih), which is copyright © 2009 2020 Ben Hoyt and used under a BSD 3-clause license.
- [blip-buf](https://code.google.com/archive/p/blip-buf), which is copyright © 2003 2009 Shay Green and used under a Lesser GNU Public License.
- [LZMA SDK](http://www.7-zip.org/sdk.html), which is public domain.
- [MurmurHash3](https://github.com/aappleby/smhasher) implementation by Austin Appleby, which is public domain.
- [getopt for MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/), which is public domain.

View File

@ -79,8 +79,8 @@ Die folgenden Mapper werden teilweise unterstützt:
Unterstützte Plattformen
------------------------
- Windows Vista oder neuer
- OS X 10.8 (Mountain Lion)[<sup>[3]</sup>](#osxver) oder neuer
- Windows 7 oder neuer
- OS X 10.9 (Mavericks)[<sup>[3]</sup>](#osxver) oder neuer
- Linux
- FreeBSD
- Nintendo 3DS
@ -234,7 +234,7 @@ Fußnoten
<a name="flashdetect">[2]</a> In manchen Fällen ist es nicht möglich, die Größe des Flash-Speichers automatisch zu ermitteln. Diese kann dann zur Laufzeit konfiguriert werden, es wird jedoch empfohlen, den Fehler zu melden.
<a name="osxver">[3]</a> 10.8 wird nur für die Qt-Portierung benötigt. Es ist wahrscheinlich möglich, die Qt-Portierung unter macOS 10.7 und älter zu bauen und zu nutzen, aber das wird nicht offiziell unterstützt. Die SDL-Portierung ist dafür bekannt, mit 10.7 und möglicherweise auf älteren Versionen zu funktionieren.
<a name="osxver">[3]</a> 10.9 wird nur für die Qt-Portierung benötigt. Es ist wahrscheinlich möglich, die Qt-Portierung unter macOS 10.7 und älter zu bauen und zu nutzen, aber das wird nicht offiziell unterstützt. Die SDL-Portierung ist dafür bekannt, mit 10.7 und möglicherweise auf älteren Versionen zu funktionieren.
[downloads]: http://mgba.io/downloads.html
[source]: https://github.com/mgba-emu/mgba/
@ -247,7 +247,6 @@ Copyright für mGBA © 2013 2021 Jeffrey Pfau. mGBA wird unter der [Mozilla
mGBA beinhaltet die folgenden Bibliotheken von Drittanbietern:
- [inih](https://github.com/benhoyt/inih), Copyright © 2009 - 2020 Ben Hoyt, verwendet unter einer BSD 3-clause-Lizenz.
- [blip-buf](https://code.google.com/archive/b/blip-buf), Copyright © 2003 - 2009 Shay Green, verwendet unter einer Lesser GNU Public License.
- [LZMA SDK](http://www.7-zip.org/sdk.html), Public Domain.
- [MurmurHash3](https://github.com/aappleby/smhasher), Implementierung von Austin Appleby, Public Domain.
- [getopt fot MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/), Public Domain.

View File

@ -79,8 +79,8 @@ Estos mappers tienen soporte parcial:
Plataformas soportadas
-------------------
- Windows Vista o más reciente
- OS X 10.8 (Mountain Lion)[<sup>[3]</sup>](#osxver) o más reciente
- Windows 7 o más reciente
- OS X 10.9 (Mavericks)[<sup>[3]</sup>](#osxver) o más reciente
- Linux
- FreeBSD
- Nintendo 3DS
@ -234,7 +234,7 @@ Notas a pie
<a name="flashdetect">[2]</a> La detección del tamaño de la memoria flash no funciona en algunos casos. Se pueden configurar en tiempo de ejecución, pero se recomienda ingresar un bug si se encuentra un caso así.
<a name="osxver">[3]</a> 10.8 sólo se necesita para la versión con Qt. Puede ser posible compilar o hacer funcionar la versión Qt en 10.7 o versiones más antigas, pero esto no está oficialmente soportado. La versión SDL funciona en 10.5, y puede funcionar en versiones anteriores.
<a name="osxver">[3]</a> 10.9 sólo se necesita para la versión con Qt. Puede ser posible compilar o hacer funcionar la versión Qt en 10.7 o versiones más antigas, pero esto no está oficialmente soportado. La versión SDL funciona en 10.5, y puede funcionar en versiones anteriores.
[downloads]: http://mgba.io/downloads.html
[source]: https://github.com/mgba-emu/mgba/
@ -247,7 +247,6 @@ mGBA es Copyright © 2013 2021 Jeffrey Pfau. Es distribuído bajo la [licenc
mGBA contiene las siguientes bibliotecas de terceros:
- [inih](https://github.com/benhoyt/inih), que es copyright © 2009 - 2020 Ben Hoyt y se utiliza bajo licencia de la cláusula 3 de BSD.
- [blip-buf](https://code.google.com/archive/p/blip-buf), que es copyright © 2003 - 2009 Shay Green y se usa bajo LGPL.
- [LZMA SDK](http://www.7-zip.org/sdk.html), la cual está en el dominio público.
- [MurmurHash3](https://github.com/aappleby/smhasher), implementación por Austin Appleby, la cual está en el dominio público.
- [getopt for MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/), la cual está en el dominio público.

268
README_JP.md Normal file
View File

@ -0,0 +1,268 @@
mGBA
====
mGBAは、ゲームボーイアドバンスのゲームを実行するためのエミュレーターです。mGBAの目標は、既存の多くのゲームボーイアドバンスエミュレーターよりも高速かつ正確であり、他のエミュレーターにはない機能を追加することです。また、ゲームボーイおよびゲームボーイカラーのゲームもサポートしています。
最新のニュースとダウンロードは、[mgba.io](https://mgba.io/)で見つけることができます。
[![Build status](https://buildbot.mgba.io/badges/build-win32.svg)](https://buildbot.mgba.io)
[![Translation status](https://hosted.weblate.org/widgets/mgba/-/svg-badge.svg)](https://hosted.weblate.org/engage/mgba)
特徴
--------
- 高精度なゲームボーイアドバンスハードウェアのサポート[<sup>[1]</sup>](#missing)。
- ゲームボーイ/ゲームボーイカラーのハードウェアサポート。
- 高速なエミュレーション。ネットブックなどの低スペックハードウェアでもフルスピードで動作することが知られています。
- 重量級と軽量級のフロントエンドのためのQtおよびSDLポート。
- ローカル(同じコンピュータ)リンクケーブルのサポート。
- フラッシュメモリサイズを含む保存タイプの検出[<sup>[2]</sup>](#flashdetect)。
- モーションセンサーと振動機能を備えたカートリッジのサポート(ゲームコントローラーでのみ使用可能)。
- 設定なしでもリアルタイムクロックのサポート。
- ボクタイゲームのためのソーラーセンサーのサポート。
- ゲームボーイカメラとゲームボーイプリンターのサポート。
- 内蔵BIOS実装と外部BIOSファイルの読み込み機能。
- Luaを使用したスクリプトサポート。
- Tabキーを押し続けることでターボ/早送りサポート。
- バッククォートを押し続けることで巻き戻し。
- 最大10まで設定可能なフレームスキップ。
- スクリーンショットのサポート。
- チートコードのサポート。
- 9つのセーブステートスロット。セーブステートはスクリーンショットとしても表示可能。
- ビデオ、GIF、WebP、およびAPNGの録画。
- e-Readerのサポート。
- キーボードとゲームパッドのリマップ可能なコントロール。
- ZIPおよび7zファイルからの読み込み。
- IPS、UPS、およびBPSパッチのサポート。
- コマンドラインインターフェースとGDBリモートサポートを介したゲームデバッグ、GhidraおよびIDA Proと互換性あり。
- 設定可能なエミュレーションの巻き戻し。
- GameSharkおよびAction Replayスナップショットの読み込みおよびエクスポートのサポート。
- RetroArch/LibretroおよびOpenEmu用のコア。
- [Weblate](https://hosted.weblate.org/engage/mgba)を介した複数の言語のコミュニティ提供の翻訳。
- その他、多くの小さな機能。
#### ゲームボーイマッパー
以下のマッパーが完全にサポートされています:
- MBC1
- MBC1M
- MBC2
- MBC3
- MBC3+RTC
- MBC30
- MBC5
- MBC5+Rumble
- MBC7
- Wisdom Tree非公式
- NT "old type" 1 and 2非公式マルチカート
- NT "new type"非公式MBC5類似
- Pokémon Jade/Diamond非公式
- Sachen MMC1非公式
以下のマッパーが部分的にサポートされています:
- MBC6フラッシュメモリ書き込みサポートなし
- MMM01
- Pocket Cam
- TAMA5RTCサポート不完全
- HuC-1IRサポートなし
- HuC-3IRサポートなし
- Sachen MMC2代替配線サポートなし
- BBDロゴ切り替えなし
- Hitekロゴ切り替えなし
- GGB-81ロゴ切り替えなし
- Li Chengロゴ切り替えなし
### 計画されている機能
- ネットワーク対応のマルチプレイヤーリンクケーブルサポート。
- Dolphin/JOYバスリンクケーブルサポート。
- MP2kオーディオミキシング、ハードウェアより高品質のサウンド。
- ツールアシストランのための再録サポート。
- 包括的なデバッグスイート。
- ワイヤレスアダプターのサポート。
サポートされているプラットフォーム
-------------------
- Windows 7以降
- OS X 10.9Mavericks[<sup>[3]</sup>](#osxver)以降
- Linux
- FreeBSD
- Nintendo 3DS
- Nintendo Switch
- Wii
- PlayStation Vita
他のUnix系プラットフォームOpenBSDなども動作することが知られていますが、テストされておらず、完全にはサポートされていません。
### システム要件
要件は最小限です。Windows Vista以降を実行できるコンピュータであれば、エミュレーションを処理できるはずです。OpenGL 1.1以降のサポートも必要であり、シェーダーや高度な機能にはOpenGL 3.2以降が必要です。
ダウンロード
---------
ダウンロードは公式ウェブサイトの[ダウンロード][downloads]セクションで見つけることができます。ソースコードは[GitHub][source]で見つけることができます。
コントロール
--------
コントロールは設定メニューで設定可能です。多くのゲームコントローラーはデフォルトで自動的にマッピングされるはずです。デフォルトのキーボードコントロールは次のとおりです:
- **A**X
- **B**Z
- **L**A
- **R**S
- **Start**Enter
- **Select**Backspace
コンパイル
---------
コンパイルにはCMake 3.1以降の使用が必要です。GCC、Clang、およびVisual Studio 2019はmGBAのコンパイルに使用できることが知られています。
#### Dockerビルド
ほとんどのプラットフォームでのビルドにはDockerを使用することをお勧めします。いくつかのプラットフォームでmGBAをビルドするために必要なツールチェーンと依存関係を含むいくつかのDockerイメージが提供されています。
注意Windows 10以前の古いWindowsシステムを使用している場合、DockerがVirtualBox共有フォルダーを使用して現在の`mgba`チェックアウトディレクトリをDockerイメージの作業ディレクトリに正しくマッピングするように構成する必要がある場合があります。詳細については、issue [#1985](https://mgba.io/i/1985)を参照してください。)
Dockerイメージを使用してmGBAをビルドするには、mGBAのチェックアウトのルートで次のコマンドを実行します
docker run --rm -it -v ${PWD}:/home/mgba/src mgba/windows:w32
Dockerコンテナを起動した後、ビルド成果物を含む`build-win32`ディレクトリが生成されます。他のプラットフォーム用のDockerイメージに置き換えると、対応する他のディレクトリが生成されます。Docker Hubで利用可能なDockerイメージは次のとおりです
- mgba/3ds
- mgba/switch
- mgba/ubuntu:xenial
- mgba/ubuntu:bionic
- mgba/ubuntu:focal
- mgba/ubuntu:groovy
- mgba/vita
- mgba/wii
- mgba/windows:w32
- mgba/windows:w64
ビルドプロセスを高速化したい場合は、`-e MAKEFLAGS=-jN`フラグを追加して、`N`個のCPUコアでmGBAの並列ビルドを行うことを検討してください。
#### *nixビルド
UnixベースのシステムでCMakeを使用してビルドするには、次のコマンドを実行することをお勧めします
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
make
sudo make install
これにより、mGBAがビルドされ、`/usr/bin`および`/usr/lib`にインストールされます。インストールされている依存関係は自動的に検出され、依存関係が見つからない場合に無効になる機能は、`cmake`コマンドを実行した後に警告として表示されます。
macOSを使用している場合、手順は少し異なります。homebrewパッケージマネージャーを使用していると仮定すると、依存関係を取得してビルドするための推奨コマンドは次のとおりです
brew install cmake ffmpeg libzip qt5 sdl2 libedit lua pkg-config
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..
make
macOSでは`make install`を実行しないでください。正しく動作しないためです。
#### Windows開発者ビルド
##### MSYS2
Windowsでの開発用ビルドにはMSYS2を使用することをお勧めします。MSYS2の[ウェブサイト](https://msys2.github.io)に記載されているインストール手順に従ってください。32ビットバージョン「MSYS2 MinGW 32-bit」を実行していることを確認してくださいx86_64用にビルドする場合は64ビットバージョン「MSYS2 MinGW 64-bit」を実行してください。必要な依存関係をインストールするために次の追加コマンド中括弧を含むを実行しますこのコマンドは1100MiB以上のパッケージをダウンロードするため、長時間かかることに注意してください
pacman -Sy --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,lua,pkgconf,qt5,SDL2,ntldd-git}
次のコマンドを実行してソースコードをチェックアウトします:
git clone https://github.com/mgba-emu/mgba.git
最後に、次のコマンドを実行してビルドします:
mkdir -p mgba/build
cd mgba/build
cmake .. -G "MSYS Makefiles"
make -j$(nproc --ignore=1)
このWindows用mGBAビルドは、実行に必要なDLLが分散しているため、配布には適していないことに注意してください。ただし、開発には最適です。ただし、そのようなビルドを配布する必要がある場合たとえば、MSYS2環境がインストールされていないマシンでのテスト用、`cpack -G ZIP`を実行すると、必要なDLLをすべて含むzipファイルが準備されます。
##### Visual Studio
Visual Studioを使用してビルドするには、同様に複雑なセットアップが必要です。まず、[vcpkg](https://github.com/Microsoft/vcpkg)をインストールする必要があります。vcpkgをインストールした後、いくつかの追加パッケージをインストールする必要があります
vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip lua sdl2 sqlite3
このインストールでは、Nvidiaハードウェアでのハードウェアアクセラレーションビデオエンコーディングはサポートされません。これが重要な場合は、事前にCUDAをインストールし、前のコマンドに`ffmpeg[vpx,x264,nvcodec]`を置き換えます。
Qtもインストールする必要があります。ただし、Qtは合理的な組織ではなく、困窮している会社によって所有および運営されているため、最新バージョンのオフラインオープンソースエディションインストーラーは存在しないため、[旧バージョンのインストーラー](https://download.qt.io/official_releases/qt/5.12/5.12.9/qt-opensource-windows-x86-5.12.9.exe)に戻る必要がありますこれには無用なアカウントの作成が必要ですが、一時的に無効なプロキシを設定するか、ネットワークを無効にすることで回避できます、オンラインインストーラーを使用するいずれにしてもアカウントが必要です、またはvcpkgを使用してビルドする遅い。これらはすべて良い選択肢ではありません。インストーラーを使用する場合は、適用可能なMSVCバージョンをインストールする必要があります。オフラインインストーラーはMSVC 2019をサポートしていないことに注意してください。vcpkgを使用する場合、次のようにインストールする必要があります。特にクアッドコア以下のコンピュータではかなりの時間がかかります
vcpkg install qt5-base qt5-multimedia
次に、Visual Studioを開き、「リポジトリのクローンを作成」を選択し、`https://github.com/mgba-emu/mgba.git`を入力します。Visual Studioがクローンを完了したら、「ファイル」>「CMake」に移動し、チェックアウトされたリポジトリのルートにあるCMakeLists.txtファイルを開きます。そこから、他のVisual Studio CMakeプロジェクトと同様にVisual StudioでmGBAを開発できます。
#### ツールチェーンビルド
devkitARM3DS用、devkitPPCWii用、devkitA64Switch用、またはvitasdkPS Vita用を持っている場合は、次のコマンドを使用してビルドできます
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../src/platform/3ds/CMakeToolchain.txt ..
make
次のプラットフォーム用に`-DCMAKE_TOOLCHAIN_FILE`パラメータを置き換えます:
- 3DS`../src/platform/3ds/CMakeToolchain.txt`
- Switch`../src/platform/switch/CMakeToolchain.txt`
- Vita`../src/platform/psp2/CMakeToolchain.vitasdk`
- Wii`../src/platform/wii/CMakeToolchain.txt`
### 依存関係
mGBAには厳密な依存関係はありませんが、特定の機能には次のオプションの依存関係が必要です。依存関係が見つからない場合、これらの機能は無効になります。
- Qt 5GUIフロントエンド用。オーディオにはQt MultimediaまたはSDLが必要です。
- SDLより基本的なフロントエンドおよびQtフロントエンドでのゲームパッドサポート用。SDL 2が推奨されますが、1.2もサポートされています。
- zlibおよびlibpngスクリーンショットサポートおよびPNG内セーブステートサポート用。
- libeditコマンドラインデバッガーサポート用。
- ffmpegまたはlibavビデオ、GIF、WebP、およびAPNGの録画用。
- libzipまたはzlibzipファイルに保存されたROMの読み込み用。
- SQLite3ゲームデータベース用。
- libelfELF読み込み用。
- Luaスクリプト用。
- json-cスクリプトの`storage` API用。
SQLite3、libpng、およびzlibはエミュレーターに含まれているため、最初に外部でコンパイルする必要はありません。
脚注
---------
<a name="missing">[1]</a> 現在欠けている機能は次のとおりです
- モード3、4、および5のOBJウィンドウ[バグ#5](http://mgba.io/b/5)
<a name="flashdetect">[2]</a> フラッシュメモリサイズの検出は一部のケースで機能しません。これらは実行時に構成できますが、そのようなケースに遭遇した場合はバグを報告することをお勧めします。
<a name="osxver">[3]</a> 10.9はQtポートにのみ必要です。10.7またはそれ以前のバージョンでQtポートをビルドまたは実行することは可能かもしれませんが、公式にはサポートされていません。SDLポートは10.5で動作することが知られており、古いバージョンでも動作する可能性があります。
[downloads]: http://mgba.io/downloads.html
[source]: https://github.com/mgba-emu/mgba/
著作権
---------
mGBAの著作権は© 2013 2023 Jeffrey Pfauに帰属します。これは[Mozilla Public License version 2.0](https://www.mozilla.org/MPL/2.0/)の下で配布されています。配布されたLICENSEファイルにライセンスのコピーが含まれています。
mGBAには次のサードパーティライブラリが含まれています
- [inih](https://github.com/benhoyt/inih)、著作権© 2009 2020 Ben Hoyt、BSD 3-clauseライセンスの下で使用。
- [LZMA SDK](http://www.7-zip.org/sdk.html)、パブリックドメイン。
- [MurmurHash3](https://github.com/aappleby/smhasher)、Austin Applebyによる実装、パブリックドメイン。
- [getopt for MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/)、パブリックドメイン。
- [SQLite3](https://www.sqlite.org)、パブリックドメイン。
ゲームパブリッシャーであり、商業利用のためにmGBAのライセンスを取得したい場合は、[licensing@mgba.io](mailto:licensing@mgba.io)までメールでお問い合わせください。

View File

@ -5,7 +5,9 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
可在以下网址找到最新新闻和下载:[mgba.io](https://mgba.io/)。
[![Build status](https://travis-ci.org/mgba-emu/mgba.svg?branch=master)](https://travis-ci.org/mgba-emu/mgba)
[![Build status](https://buildbot.mgba.io/badges/build-win32.svg)](https://buildbot.mgba.io)
[![Translation status](https://hosted.weblate.org/widgets/mgba/-/svg-badge.svg)](https://hosted.weblate.org/engage/mgba)
功能
--------
@ -13,7 +15,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- 支持高精确的 Game Boy Advance 硬件[<sup>[1]</sup>](#missing)。
- 支持 Game Boy/Game Boy Color 硬件。
- 快速模拟:已知即使在低端硬件(例如上网本)上也能够全速运行。
- 用于重型和轻型前端的 Qt 和 SDL 端口
- 可用于重型和轻型前端的 Qt 和 SDL 移植
- 支持本地(同一台计算机)链接电缆。
- 存档类型检测,即使是闪存大小也可检测[<sup>[2]</sup>](#flashdetect)。
- 支持附带有运动传感器和振动机制的卡带(仅适用于游戏控制器)。
@ -21,6 +23,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- 支持《我们的太阳》系列游戏的太阳能传感器。
- 支持 Game Boy 相机和 Game Boy 打印机。
- 内置 BIOS 执行,并具有加载外部 BIOS 文件的功能。
- 支持使用 Lua 编写脚本
- 支持 Turbo/快进功能(按住 Tab 键)。
- 支持倒带(按住反引号键)。
- 支持跳帧,最多可配置 10 级。
@ -32,10 +35,11 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- 可重新映射键盘和游戏手柄的控制键。
- 支持从 ZIP 和 7z 文件中加载。
- 支持 IPS、UPS 和 BPS 补丁。
- 支持通过命令行界面和 GDB 远程支持进行游戏调试,兼容 IDA Pro。
- 支持通过命令行界面和 GDB 远程支持进行游戏调试,兼容 Ghidra 和 IDA Pro。
- 支持可配置的模拟倒带。
- 支持载入和导出 GameShark 和 Action Replay 快照。
- 适用于 RetroArch/Libretro 和 OpenEmu 的内核。
- 社区支持的多种语言翻译 [Weblate](https://hosted.weblate.org/engage/mgba).
- 许许多多的小玩意。
#### Game Boy 映射器mapper
@ -51,9 +55,10 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- MBC5+振动
- MBC7
- Wisdom Tree未授权
- NT "old type" 1 and 2 (未授权多合一卡带)
- NT "new type" (未授权 MBC5-like)
- Pokémon Jade/Diamond未授权
- BBD未授权、类 MBC5
- Hitek未授权、类 MBC5
- Sachen MMC1 (未授权)
部分支持以下 mapper
@ -63,6 +68,11 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- TAMA5缺少 RTC 支持)
- HuC-1缺少 IR 支持)
- HuC-3缺少 IR 和 RTC 支持)
- Sachen MMC2 (缺少备用接线支持)
- BBD (缺少图标切换)
- Hitek (缺少图标切换)
- GGB-81 (缺少图标切换)
- Li Cheng (缺少图标切换)
### 计划加入的功能
@ -70,15 +80,14 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- 支持 Dolphin/JOY 总线链接电缆。
- MP2k 音频混合,获得比硬件更高质量的声音。
- 支持针对工具辅助竞速Tool-Assisted Speedrun的重录功能。
- 支持 Lua 脚本。
- 全方位的调试套件。
- 支持无线适配器。
支持平台
-------------------
- Windows Vista 或更新
- OS X 10.8山狮 / Mountain Lion[<sup>[3]</sup>](#osxver) 或更新
- Windows 7 或更新
- OS X 10.9Mavericks[<sup>[3]</sup>](#osxver) 或更新
- Linux
- FreeBSD
- Nintendo 3DS
@ -112,17 +121,19 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
编译
---------
编译需要使用 CMake 3.1 或更新版本。已知 GCC 和 Clang 都可以编译 mGBA而 Visual Studio 2013 和更旧的版本则无法编译。我们即将实现对 Visual Studio 2015 或更新版本的支持
编译需要使用 CMake 3.1 或更新版本。已知 GCC , Clang 和 Visual Studio 2013 都可以编译 mGBA
#### Docker 构建
对于大多数平台来说,建议使用 Docker 进行构建。我们提供了多个 Docker 映像,其中包含在多个平台上构建 mGBA 所需的工具链和依赖项。
注意: 如果你是用的是 Widnows 10 之前的旧版本 Windows 系统, 你可能需要配置你的 Docker 使用 VirtualBox 共享文件夹以正确映射你当前 mGBA 检出目录到 Docker 镜像中的工作目录. 详细细节参见 issue [#1985](https://mgba.io/i/1985)
要使用 Docker 映像构建 mGBA只需在 mGBA 的签出checkout根目录中运行以下命令
docker run --rm -t -v $PWD:/home/mgba/src mgba/windows:w32
此命令将生成 `build-win32` 目录。将 `mgba/windows:w32` 替换为其他平台上的 Docker 映像会生成相应的其他目录。Docker Hub 上提供了以下 Docker 映像:
启动 Docker 容器之后, 此命令将生成 `build-win32` 目录, 此目录中包含编译产物。将 `mgba/windows:w32` 替换为其他平台上的 Docker 映像会生成相应的其他目录。Docker Hub 上提供了以下 Docker 映像:
- mgba/3ds
- mgba/switch
@ -135,6 +146,8 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- mgba/windows:w32
- mgba/windows:w64
如果你希望加速编译过程, 可以考虑添加编译选项 `-e MAKEFLAGS=-jN`, 使用 `N` 个 CPU 核心来并行构建 mGBA
#### *nix 构建
要在基于 Unix 的系统上使用 CMake 进行构建,推荐执行以下命令:
@ -147,7 +160,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
这些命令将构建 mGBA 并将其安装到 `/usr/bin``/usr/lib` 中。系统会自动检测已安装的依赖项,如果未找到依赖项,则会在提示找不到依赖项的情况下运行 `cmake` 命令,并显示已被禁用的功能。
如果您使用的是 MacOS则步骤略有不同。假设您使用的是自制软件包管理器,建议使用以下命令来获取依赖项并进行构建:
如果您使用的是 MacOS则步骤略有不同。假设您使用的 homebrew 软件包管理器,建议使用以下命令来获取依赖项并进行构建:
brew install cmake ffmpeg libzip qt5 sdl2 libedit pkg-config
mkdir build
@ -220,10 +233,12 @@ mGBA 没有硬性的依赖项,但是特定功能需要以下可选的依赖项
- libzip 或 zlib载入储存在 ZIP 文件中的 ROM 的所需依赖项。
- SQLite3游戏数据库的所需依赖项
- libelfELF 载入的所需依赖项
- Lua: 脚本支持
- json-c: 脚本 `storage` API 支持
SQLite3、libpng 以及 zlib 已包含在模拟器中,因此不需要先对这些依赖项进行外部编译。
Footnotes
脚注
---------
<a name="missing">[1]</a> 目前缺失的功能有
@ -232,7 +247,7 @@ Footnotes
<a name="flashdetect">[2]</a> 闪存大小检测在某些情况下不起作用。 这些可以在运行时中进行配置,但如果遇到此类情况,建议提交错误。
<a name="osxver">[3]</a> 仅 Qt 端口需要 10.8。应该可以在 10.7 或更早版本上构建或运行 Qt 端口,但这类操作不受官方支持。已知 SDL 端口可以在 10.5 上运行,并且可能能够在旧版本上运行。
<a name="osxver">[3]</a> 仅 Qt 移植需要 10.9。应该可以在 10.7 或更早版本上构建或运行 Qt 移植,但这类操作不受官方支持。已知 SDL 移植可以在 10.5 上运行,并且可能能够在旧版本上运行。
[downloads]: http://mgba.io/downloads.html
[source]: https://github.com/mgba-emu/mgba/
@ -240,12 +255,11 @@ Footnotes
版权
---------
mGBA 版权 © 2013 2020 Jeffrey Pfau。基于 [Mozilla 公共许可证版本 2.0](https://www.mozilla.org/MPL/2.0/) 许可证分发。分发的 LICENSE 文件中提供了许可证的副本。
mGBA 版权 © 2013 2023 Jeffrey Pfau。基于 [Mozilla 公共许可证版本 2.0](https://www.mozilla.org/MPL/2.0/) 许可证分发。分发的 LICENSE 文件中提供了许可证的副本。
mGBA 包含以下第三方库:
- [inih](https://github.com/benhoyt/inih):版权 © 2009 2020 Ben Hoyt基于 BSD 3-clause 许可证使用。
- [blip-buf](https://code.google.com/archive/p/blip-buf):版权 © 2003 2009 Shay Green基于 Lesser GNU 公共许可证使用。
- [LZMA SDK](http://www.7-zip.org/sdk.html):属公有领域使用。
- [MurmurHash3](https://github.com/aappleby/smhasher):由 Austin Appleby 实施,属公有领域使用。
- [getopt for MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/):属公有领域使用。

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

View File

@ -0,0 +1,6 @@
[testinfo]
skip=15
frames=1
[ports.cinema]
sgb.borders=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

View File

@ -0,0 +1,2 @@
[testinfo]
skip=600

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

View File

@ -0,0 +1,2 @@
[testinfo]
skip=1080

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

View File

@ -0,0 +1,3 @@
[testinfo]
skip=360
frames=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

View File

@ -0,0 +1,3 @@
[testinfo]
skip=600
fail=1

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

View File

@ -0,0 +1,2 @@
[testinfo]
skip=600

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

View File

@ -0,0 +1,2 @@
[testinfo]
skip=600

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

View File

@ -0,0 +1,2 @@
[testinfo]
skip=600

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

View File

@ -0,0 +1,2 @@
[testinfo]
skip=1080

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 B

Some files were not shown because too many files have changed in this diff Show More