Compare commits

...

879 Commits

Author SHA1 Message Date
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
1187 changed files with 126738 additions and 70350 deletions

View File

@ -12,7 +12,11 @@ install:
- vcpkg --no-dry-run upgrade
- rd /Q /S C:\Tools\vcpkg\buildtrees
before_build:
- 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
- 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.

182
CHANGES
View File

@ -1,4 +1,158 @@
0.10.0: (Future)
0.11.0: (Future)
Features:
- New option to lock the maximum frame size
- 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: Debugger integration to allow for breakpoints and watchpoints
- New unlicensed GB mappers: NT (older types 1 and 2), Li Cheng, GGB-81
- Debugger: Add range watchpoints
Emulation fixes:
- ARM: Add framework for coprocessor support
- 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)
- 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 GPIO: Fix gyro read-out start (fixes mgba.io/i/3141)
- GBA I/O: Fix HALTCNT access behavior (fixes mgba.io/i/2309)
- GBA Serialize: Fix some minor save state edge cases
- GBA SIO: Fix MULTI mode SIOCNT bit 7 writes on secondary GBAs (fixes mgba.io/i/3110)
- 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
- 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: Fix getting game info for multiboot ROMs
- 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 savestate preview sizes with different scales (fixes mgba.io/i/2560)
- Qt: Fix potential crash when configuring shortcuts
- 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
- Updater: Fix updating appimage across filesystems
Misc:
- 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)
- 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 Memory: Improve VRAM access stall cycle estimation
- 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)
- 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: Make window corners square on Windows 11 (fixes mgba.io/i/3285)
- Res: Port NSO-gba-colors shader (closes mgba.io/i/2834)
- Scripting: Add `callbacks:oneshot` for single-call callbacks
- 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
@ -6,7 +160,7 @@ Features:
- 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
- Acclerometer and gyro support for controllers on PC
- 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
@ -19,19 +173,21 @@ Features:
Emulation fixes:
- ARM7: Fix unsigned multiply timing
- GB: Copy logo from ROM if not running the BIOS intro (fixes mgba.io/i/2378)
- GB Audio: Fix channel 1/2 reseting edge cases (fixes mgba.io/i/1925)
- 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 Memory: Add cursory cartridge open bus emulation (fixes mgba.io/i/2032)
- 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)
@ -56,10 +212,12 @@ Other fixes:
- 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
@ -67,6 +225,7 @@ Other fixes:
- 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
@ -75,14 +234,17 @@ Misc:
- 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 Memory: Implement adjustable EWRAM waitstates (closes mgba.io/i/1276)
- 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)
@ -102,8 +264,12 @@ Misc:
- 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)
@ -118,7 +284,7 @@ Emulation fixes:
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 reseting SGB games
- 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
@ -229,7 +395,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
@ -245,7 +411,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.3)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/src/platform/cmake/")
if(POLICY CMP0025)
@ -34,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 /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")
@ -55,6 +59,7 @@ if(NOT LIBMGBA_ONLY)
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")
@ -63,9 +68,6 @@ 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")
@ -75,11 +77,12 @@ if(NOT LIBMGBA_ONLY)
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 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")
@ -88,6 +91,7 @@ if(NOT LIBMGBA_ONLY)
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)
@ -137,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)
@ -175,7 +174,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)
@ -208,18 +207,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()
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)
@ -229,17 +232,26 @@ 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)
add_definitions(-D_DARWIN_C_SOURCE)
list(APPEND OS_LIB "-framework Foundation")
if(NOT CMAKE_SYSTEM_VERSION VERSION_LESS "10.0") # Darwin 10.x is Mac OS X 10.6
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=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()
if(NOT HAIKU AND NOT MSVC AND NOT PSP2)
@ -260,20 +272,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()
@ -284,7 +282,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 "")
@ -296,12 +294,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)
@ -328,20 +326,21 @@ find_function(popcount32)
find_function(futimens)
find_function(futimes)
find_function(localtime_r)
find_function(realpath)
if(ANDROID AND ANDROID_NDK_MAJOR GREATER 13)
find_function(localtime_r)
set(HAVE_STRTOF_L ON)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
find_function(localtime_r)
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
set(HAVE_STRTOF_L OFF)
else()
find_function(localtime_r)
find_function(strtof_l)
endif()
check_include_files("xlocale.h" HAVE_XLOCALE)
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)
@ -406,11 +405,18 @@ 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()
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(BUILD_GL)
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/opengl/gl.c)
@ -423,6 +429,11 @@ if(NOT BUILD_GL AND NOT LIBMGBA_ONLY)
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)
@ -436,6 +447,11 @@ if(BUILD_GLES2)
endif()
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)
if(NOT OPENGLES3_INCLUDE_DIR OR NOT OPENGLES3_LIBRARY)
@ -457,8 +473,9 @@ if(NOT BUILD_GLES2 AND NOT BUILD_GLES3 AND NOT LIBMGBA_ONLY)
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)
@ -504,14 +521,12 @@ if(USE_EDITLINE)
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})
@ -555,8 +570,6 @@ if(USE_FFMPEG)
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)
@ -622,14 +635,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}")
@ -643,6 +657,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)
@ -698,8 +713,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 BUILD_GLES3)
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})
@ -741,11 +760,36 @@ 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})
@ -771,6 +815,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})
@ -788,10 +833,10 @@ 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)
@ -799,6 +844,10 @@ if(ENABLE_SCRIPTING)
list(APPEND TEST_SRC ${SCRIPT_TEST_SRC})
endif()
if(ENABLE_VFS)
list(APPEND ENABLES VFS)
endif()
foreach(FEATURE IN LISTS FEATURES)
list(APPEND FEATURE_DEFINES "USE_${FEATURE}")
endforeach()
@ -812,7 +861,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()
@ -837,7 +885,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)
@ -859,13 +911,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})
@ -891,15 +947,15 @@ if(NOT SKIP_LIBRARY)
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 ${CMAKE_INSTALL_DATADIR}/icons/hicolor/16x16/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-24.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/24x24/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-32.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-48.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/48x48/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-64.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/64x64/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-96.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/96x96/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-128.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-256.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/256x256/apps RENAME mgba.png COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/mgba-512.png DESTINATION ${CMAKE_INSTALL_DATADIR}/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)
@ -925,9 +981,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} ${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)
@ -936,33 +992,17 @@ 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)
endif()
if(BUILD_QT AND (WIN32 OR APPLE OR CMAKE_SYSTEM_NAME STREQUAL "Linux"))
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} ${OS_SRC} ${UTIL_SRC} ${THIRD_PARTY_SRC}
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/feature/updater-main.c)
target_link_libraries(updater-stub ${OS_LIB} ${PLATFORM_LIBRARY})
set_target_properties(updater-stub PROPERTIES COMPILE_DEFINITIONS "${OS_DEFINES};${FUNCTION_DEFINES};BUILD_STATIC")
${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()
@ -972,8 +1012,14 @@ if(BUILD_UPDATER)
endif()
if(ENABLE_SCRIPTING AND BUILD_DOCGEN)
add_executable(docgen ${CMAKE_CURRENT_SOURCE_DIR}/src/script/docgen.c)
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)
@ -1013,7 +1059,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})
@ -1240,11 +1286,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}")
@ -1260,6 +1306,7 @@ if(NOT QUIET AND NOT LIBMGBA_ONLY)
else()
message(STATUS " Lua: ${USE_LUA}")
endif()
message(STATUS " storage API: ${USE_JSON_C}")
endif()
message(STATUS "Frontends:")
message(STATUS " Qt: ${BUILD_QT}")
@ -1274,9 +1321,6 @@ if(NOT QUIET AND NOT LIBMGBA_ONLY)
message(STATUS " ROM tester: ${BUILD_ROM_TEST}")
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

@ -50,25 +50,29 @@ 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
- 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 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)
### Planned features
@ -76,7 +80,6 @@ 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.
@ -118,13 +121,13 @@ Controls are configurable in the settings menu. Many game controllers should be
Compiling
---------
Compiling requires using CMake 3.1 or newer. GCC, Clang and Visual Studio 2019 known to work to compile mGBA.
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.
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.)
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:
@ -231,6 +234,7 @@ mGBA has no hard dependencies, however, the following optional dependencies are
- 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.
@ -251,12 +255,11 @@ Footnotes
Copyright
---------
mGBA is Copyright © 2013 2022 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

@ -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

@ -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.

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,7 +80,6 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- 支持 Dolphin/JOY 总线链接电缆。
- MP2k 音频混合,获得比硬件更高质量的声音。
- 支持针对工具辅助竞速Tool-Assisted Speedrun的重录功能。
- 支持 Lua 脚本。
- 全方位的调试套件。
- 支持无线适配器。
@ -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.9。应该可以在 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.

Before

Width:  |  Height:  |  Size: 702 B

After

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05db RunTest
00:0b92 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 998 B

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05db RunTest
00:0b92 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05cb RunTest
00:09ed StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 918 B

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,45 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:062b RunTest
00:0649 TestGroup
00:0a39 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,45 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:062b RunTest
00:0639 TestGroup
00:0ec9 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05c3 RunTest
00:091d StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,45 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:062b RunTest
00:0639 TestGroup
00:0ed6 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05bb RunTest
00:0875 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05bb RunTest
00:0875 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05bb RunTest
00:0875 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05bb RunTest
00:088f StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 B

View File

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

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05f3 RunTest
00:1a0f StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:063b RunTest
00:1a82 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05bb RunTest
00:085e StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,46 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05e3 RunTest
00:05f9 TestGroup
00:0801 ShortTestGroup
00:0912 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:063b RunTest
00:1f92 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:063b RunTest
00:1cce StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

View File

@ -0,0 +1,45 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:063b RunTest
00:0940 RunTest.round_6
00:1545 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

View File

@ -0,0 +1,44 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:062b RunTest
00:1e2a StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,2 @@
[testinfo]
fail=1

Binary file not shown.

View File

@ -0,0 +1,45 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:062b RunTest
00:0643 SubTestGroup
00:0ac4 StoreResult
01:4000 NopSlide

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

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

Binary file not shown.

View File

@ -0,0 +1,45 @@
; File generated by rgblink
00:00ff reboot
00:0100 Start
00:0150 LCDOff
00:0157 LCDOff.LCDOffLoop
00:0163 LCDOff.ret
00:0165 LCDOn
00:016e LoadFont
00:0176 LoadFont.loop
00:017c LoadFont.loop2
00:0185 LoadFont.loop3
00:0192 LoadFont.loop4
00:01a1 HexDigits
00:03a1 Palette
00:03b1 LoadObjPalettes
00:03b5 LoadBGPalettes
00:03b7 LoadPalettes
00:03bc LoadPalettes.loop
00:03c2 CommonInit
00:03d0 CommonInit.clearLogoTilemap
00:03e9 ModemSleep
00:0401 ModemCh1Freqs
00:0411 ModemCh2Freqs
00:0421 ModemCh3Freqs
00:0431 ModemSendByte
00:0485 ModemStart
00:04bf ModemStop
00:04c3 ModemSendBuffer
00:04cb _Start
00:04e7 _Start.loop_u16400
00:0502 _Start.failed
00:0509 _Start.sendSerial
00:0521 _Start.loop_u16401
00:052a PrintResults
00:0533 PrintResults.yLoop
00:0557 PrintResults.xLoop
00:0569 PrintResults.correct
00:057d PrintResults.correct2
00:059e SerialSendByte
00:05a4 SerialSendByte.loop
00:05ab CorrectResults
00:05eb RunTest
00:05fb TestGroup
00:0a7c StoreResult
01:4000 NopSlide

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