Compare commits

..

266 Commits

Author SHA1 Message Date
Vicki Pfau 26b7884bc2 CHANGES: Update for 0.10.5 2025-03-08 19:09:26 -08:00
Vicki Pfau b9b090c566 CHANGES: Fix ordering 2025-02-28 21:44:15 -08:00
Vicki Pfau 5e8c47ecb1 Util: Cap internal buffer size when unzipping files (fixes #3404) 2025-02-28 21:41:34 -08:00
Vicki Pfau 406a202157 GBA Cheats: Let VBA-style codes patch ROM (fixes #3423) 2025-02-28 21:41:34 -08:00
Vicki Pfau 332b1b8bc3 GB: Allow use of CGB-E and AGB-0 BIOS versions (closes #3427) 2025-02-27 02:39:07 -08:00
Vicki Pfau 7cfe792559 res: Add Game Boy/Color metadata to .desktop file 2025-02-23 23:24:23 -08:00
Vicki Pfau e19f35e7e4 ARM Debugger: Fix disassembly of ror r0 barrel shift (fixes #3412) 2025-02-11 05:17:02 -08:00
Vicki Pfau 56b59c767b CMake: Default macOS SDK version to OS version if not found 2025-02-11 05:15:34 -08:00
Vicki Pfau 0670687b86 FFmpeg: Use avcodec_get_supported_config when present 2025-02-11 05:14:03 -08:00
Vicki Pfau 196adf233c GB Core: Fix cloning savedata when backing file is outdated (fixes #3388) 2024-12-31 01:46:12 -08:00
Vicki Pfau dbae6e1eef macOS: Declare camera usage in Info.plist 2024-12-29 17:39:25 -08:00
Vicki Pfau 5e4b91c94f CMake: Fix entitlements plist filename 2024-12-29 17:39:08 -08:00
Vicki Pfau afdf3b0b88 Updater: Fix rewriting folders and files on Windows (fixes #3384) 2024-12-28 22:45:39 -08:00
Vicki Pfau f40ea09127 FFmpeg: Fix failing to record videos with CRF video (fixes #3368) 2024-12-24 18:54:35 -08:00
Vicki Pfau 7e1e7d2253 GBA Core: Fix booting into BIOS when skip BIOS is enabled 2024-12-20 02:16:04 -08:00
Vicki Pfau c9083715e6 GBA Savedata: Demote savegme time offset message to DEBUG level 2024-12-20 02:15:14 -08:00
Vicki Pfau eecdfd0c77 Qt: Skip processing QLocale::C if present 2024-12-20 02:15:09 -08:00
Vicki Pfau 20da804e65 Qt: Fix up how the language names get displayed 2024-12-20 02:15:04 -08:00
Vicki Pfau e4dc41df31 Qt: Rename LatAm Spanish to just "Spanish" 2024-12-20 02:14:58 -08:00
Vicki Pfau 9a1d2442a3 GBA Hardware: Fix loading states unconditionally overwriting GPIO memory 2024-12-11 16:29:44 -08:00
Vicki Pfau 6c2da7b621 CHANGES: Update for 0.10.4 2024-12-07 20:45:16 -08:00
Vicki Pfau 9a38ba4913 Qt: Fix installer updates if a version number is in the filename (fixes #3109) 2024-11-24 17:55:04 -08:00
Vicki Pfau 2f880b17ca CMake: Set both -mmacosx-version-min and CMAKE_OSX_DEPLOYMENT_TARGET 2024-11-24 17:05:09 -08:00
Bo He bbf601da02 associate windows with the owning application 2024-11-24 17:03:46 -08:00
Jan200101 b51e58640f Qt: Fix potential crash on Wayland with OpenGL (fixes #3276) 2024-11-01 02:13:47 -07:00
Vicki Pfau 30897fee62 Qt: Fix saving named states breaking when screenshot states disabled (fixes #3320) 2024-10-20 18:04:56 -07:00
Vicki Pfau c143851916 Core: Fix patch autoloading leaking the file handle 2024-10-08 04:44:35 -07:00
Vicki Pfau 10eb8c57d2 Core: Add sanity check for mDirectorySetOpenSuffix 2024-10-04 17:17:47 -07:00
Vicki Pfau 952c883755 Core: Check for null when autoloading/saving cheats 2024-10-04 17:14:17 -07:00
CasualPokePlayer 7ae9117930 GBA Serialize: Properly restore GPIO register state (fixes #3294) 2024-09-29 01:02:29 -07:00
Vicki Pfau 07ac520a9a 3DS: Fix build 2024-09-21 23:16:37 -07:00
Vicki Pfau f778cf4749 GBA I/O: Fix audio register 8-bit write behavior (fixes #3086) 2024-09-21 23:08:13 -07:00
Vicki Pfau 9271198f64 Qt: Make window corners square on Windows 11 (fixes #3285) 2024-09-21 23:01:16 -07:00
Vicki Pfau 16f7a05b1a Appveyor: Use Windows 11 SDK 2024-09-21 23:00:04 -07:00
Vicki Pfau a66ad9c2c8 Qt: Fix how LatAm Spanish is shown in settings 2024-09-16 02:53:46 -07:00
Vicki Pfau 3ae88949a3 Core: Extdata should not have a size < 0 2024-09-16 02:52:07 -07:00
Vicki Pfau ffe539343e No-Intro: Prevent database from being downgraded 2024-09-16 02:51:04 -07:00
Vicki Pfau 00426ad6d1 GB Serialize: Prevent loading invalid states where LY >= 144 in modes other than 1 2024-07-19 20:14:40 -07:00
Adam Higerd 7d8b029282 Don't try to load non-.sym files as ARMIPS symbols 2024-07-19 19:43:39 -07:00
Vicki Pfau 67b0a27d88 GBA Core: Fix crash after loading debug symbols (fixes #3254) 2024-07-11 14:09:46 -07:00
Vicki Pfau d2a8b43ae0 GBA I/O: Fix HALTCNT access behavior (fixes #2309) 2024-07-09 20:17:22 -07:00
Vicki Pfau ebad7a380b GB I/O: Fix STAT writing IRQ trigger conditions (fixes #2501) 2024-07-07 11:26:36 -07:00
Vicki Pfau a0f6255a0b Switch: Add bilinear filtering option (closes #3111) 2024-07-07 11:24:26 -07:00
Vicki Pfau 154fe6b344 GB: Fix uninitialized save data when loading undersized temporary saves 2024-07-07 11:24:26 -07:00
Vicki Pfau 5ac23cfe4f GBA Core: Fix loading symbols from ELF files if the file doesn't end with .elf 2024-07-07 11:24:26 -07:00
Vicki Pfau 2c2eab2b94 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:24:26 -07:00
Vicki Pfau ee2533831d Util: Add THREAD_EXIT macro 2024-07-07 11:24:26 -07:00
Vicki Pfau b205537558 GBA Audio: Fix crash in audio subsampling if timing lockstep breaks 2024-06-25 04:09:36 -07:00
Vicki Pfau e0b0e45821 GBA Audio: Fix crash if audio FIFOs and timers get out of sync 2024-06-25 03:46:31 -07:00
Vicki Pfau 832c0aed27 Windows: Inno Setup fixes
Update minimum Windows version to 7, add DisableDirPage=no
2024-06-25 03:44:41 -07:00
Vicki Pfau f8ece1ed04 Third-Party: Cherry-pick rapidjson buildfix 2024-05-25 01:33:47 -07:00
Vicki Pfau 95c2e2fbe6 GBA SIO: Remove erroneous RCNT setting 2024-05-24 22:28:55 -07:00
Vicki Pfau 40dcea36c0 Updater: Fix build 2024-05-24 20:34:16 -07:00
Vicki Pfau 21d76adf66 Updater: Fix existing directory update logic 2024-05-24 20:32:47 -07:00
Vicki Pfau 8f648b6808 Updater: Fix overwriting files with directories 2024-05-24 20:32:47 -07:00
Vicki Pfau b342ecb76f Updater: Fix MSVC build 2024-05-24 20:32:09 -07:00
Vicki Pfau 63c0bedf44 Qt: Fix LCDC background priority/enable bit being mis-mapped in I/O view 2024-05-12 02:51:23 -07:00
Vicki Pfau ff00fed81c Qt: Better fix for I/O viewer 2024-05-12 02:51:23 -07:00
Vicki Pfau a2493a7bf3 GBA Memory: Let raw access read high MMIO addresses 2024-05-11 21:50:57 -07:00
Vicki Pfau b1c7c6d14a Qt: Fix crash when applying changes to GB I/O registers in I/O view 2024-05-11 21:41:37 -07:00
Vicki Pfau 16a565dc6b Debugger: Actually handle parseLexedExpression returning false 2024-04-24 23:21:02 -07:00
Vicki Pfau 0ca0ea47d4 Qt: Update translation (Chinese (Simplified))
Translation: mGBA/Qt
Translate-URL: https://hosted.weblate.org/projects/mgba/mgba-qt/zh_Hans/
2024-04-08 15:48:23 -07:00
Vicki Pfau 455d424685 CMakeLists: Fix strtof_l detection logic 2024-04-08 02:11:31 -07:00
Vicki Pfau 99bae2dc06 GBA GPIO: Fix gyro read-out start (fixes #3141) 2024-04-05 00:24:28 -07:00
Vicki Pfau 34b1f0b3a4 Core: Add missing defines to flags.h 2024-04-01 16:46:38 -07:00
Vicki Pfau c2907e8286 CMake: Bump version 2024-03-19 00:15:20 -07:00
Vicki Pfau 557a3b67db GB Audio: Fix audio envelope timing resetting too often (fixes #3164) 2024-03-17 20:02:30 -07:00
TuxSH 950e576f09 Fix menu bug that allowed the selection of invalid states when wrap=true 2024-03-17 20:02:13 -07:00
Vicki Pfau 2ab7500e3e Qt: Fix uninitialized variable 2024-03-17 20:02:13 -07:00
Vicki Pfau 5aa7c955f1 Updater: Fix updating appimage across filesystems 2024-03-17 20:01:44 -07:00
Vicki Pfau 32149f0e24 VFS: Fix UB 2024-03-17 19:56:27 -07:00
unknown 1c058b596e Qt GDB Window defaults to loopback address 2024-03-17 19:55:38 -07:00
unknown 3253c5dd32 GBA Debugger defaults to loopback address 2024-03-17 19:55:38 -07:00
Vicki Pfau 858c94e5ee GBA SIO: Fix MULTI mode SIOCNT bit 7 writes on secondary GBAs (fixes #3110) 2024-01-21 17:45:06 -08:00
Vicki Pfau a2b7b19d89 Vita: Add imc0 and xmc0 mount point support 2024-01-21 03:39:36 -08:00
Vicki Pfau 48350b1fd3 VFS: Modernize VDeviceList implementation 2024-01-21 03:38:44 -08:00
Vicki Pfau 1c61b54208 CHANGES: Update for 0.10.3 2024-01-07 19:17:00 -08:00
Vicki Pfau 15ec8eb795 Res: Update patrons.txt 2024-01-07 19:15:52 -08:00
Vicki Pfau 383dcda998 Res: Update nointro.dat 2024-01-07 19:13:02 -08:00
Vicki Pfau e1a5329f30 Qt: Fix screen freezing on macOS after closing save state window (fixes #2885) 2024-01-07 16:58:30 -08:00
Vicki Pfau 0227d2db39 VFS: Use anonymousMemoryMap for large 7z allocations (fixes #3013) 2023-12-21 22:58:36 -08:00
Vicki Pfau 3f4cb4dbcb GB Audio: Improve "zombie mode" emulation in CGB mode (fixes #2029) 2023-12-20 02:53:21 -08:00
Daniel Simon 960d98a554 Qt: Fix generic icon on Wayland 2023-12-20 02:19:36 -08:00
Vicki Pfau 9a45bf94aa GB Audio: Fix restarting envelope when writing to register (fixes #3067) 2023-12-20 02:18:42 -08:00
Vicki Pfau f8112aee59 mGUI: Persist fast forwarding after closing menu (fixes #2414) 2023-12-18 22:58:55 -08:00
Vicki Pfau 68e5a0aa47 GB: Fix applying a patch that changes the cartridge mapper (fixes #3077) 2023-12-11 22:07:41 -08:00
Vicki Pfau 7be38eaed5 Qt: Do initial macOS resource staging in local app bundle 2023-12-11 22:07:41 -08:00
Vicki Pfau 3c5caf7c53 Qt: Move install in CMake so install scripts get run first 2023-12-11 22:07:41 -08:00
Vicki Pfau f4a5d86f88 Qt: Do codesigning on macOS 2023-12-11 22:07:41 -08:00
Vicki Pfau 3520607ebc Res: Add entitlements list for macOS 2023-12-11 22:06:49 -08:00
Vicki Pfau 4f50fe04fe CMake: Bump minimum macOS to 10.7 when building against SDL2 2023-12-10 23:53:35 -08:00
Vicki Pfau c6afa29215 Revert "SDL: Fix minor leak if debugger isn't used"
This reverts commit ba83c4d9d3.
2023-11-25 22:59:49 -08:00
Vicki Pfau ba83c4d9d3 SDL: Fix minor leak if debugger isn't used 2023-11-24 22:30:52 -08:00
Vicki Pfau 0e3d55c2ac GBA Savedata: Fix crash when resizing flash save games for RTC data 2023-11-24 22:30:51 -08:00
nia ef9c5bd096 Scripting: Check for ENOTRECOVERABLE
It's part of "robust mutexes" and may not necessarily be available
(e.g. on NetBSD 9)
2023-11-24 22:29:08 -08:00
Vicki Pfau 5ecce03fba FFmpeg: Fix deprecation warnings 2023-11-06 23:16:37 -08:00
Vicki Pfau 0b003fe230 GBA Audio: Only read MP2k context addresses if valid 2023-10-29 17:11:01 -07:00
Vicki Pfau a362317f46 CMake: Fix DEFAULT_LTO 2023-10-29 17:08:04 -07:00
leo60228 73ac3dad4f Debugger: Advertise QStartNoAckMode support 2023-10-29 17:08:04 -07:00
leo60228 1d4bf372b8 Debugger: Fix off-by-one breaking StartNoAckMode 2023-10-29 17:08:04 -07:00
Vicki Pfau da8f4f28f3 Wii: Fix build 2023-09-27 20:24:40 -07:00
David Spickett 35cdd5d242 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-27 20:24:40 -07:00
Vicki Pfau d2205d3475 Scripting: Enhance error reporting 2023-09-27 20:24:40 -07:00
Vicki Pfau 404e84b045 Scripting: Simplify console implementation 2023-09-27 20:24:40 -07:00
Vicki Pfau 31235a6b2c Scripting: Fix console error log level 2023-09-16 01:37:11 -07:00
Vicki Pfau 0fb8b782be GB Core: Fix exported size information 2023-09-16 01:36:15 -07:00
Vicki Pfau c5dc97a432 GBA: Make sure unloading a ROM frees the AGBPrint buffer 2023-09-16 01:36:10 -07:00
Vicki Pfau 9adb1faef2 Qt: SaveConverter doesn't use the controller 2023-09-16 01:35:34 -07:00
Vicki Pfau 9b98a19a37 Core: Fix potential UAF when loading a ROM in a VDir 2023-09-16 01:35:23 -07:00
Vicki Pfau ddee0af216 GBA Core: Fix Flash 1M memory block descriptor 2023-09-16 01:34:29 -07:00
Vicki Pfau 35bbc74cc2 Vita: Fix camera setting not appearing (fixes #3012) 2023-08-28 13:29:24 -07:00
Vicki Pfau 510d1afa4a GBA Audio: Fix sample position issues when rate changes (fixes #3006) 2023-08-23 14:35:50 -07:00
Vicki Pfau d6291bcc05 Qt: Fix mute settings not being loaded on setting screen (fixes #2990) 2023-08-08 19:34:35 -07:00
shenef e86e9d0c76 Qt: Mark video encoding options as untranslatable 2023-08-05 16:34:56 -07:00
Vicki Pfau cda008eef5 Qt: Re-enable sync for multiplayer windows that aren't connected (fixes #2974) 2023-08-04 23:20:39 -07:00
Vicki Pfau fcb2f11464 GUI: Add missing include 2023-07-23 22:49:59 -07:00
Vicki Pfau eb2233eaaa GBA GPIO: Fix tilt scale and orientation (fixes #2703) 2023-07-23 22:49:55 -07:00
Vicki Pfau 1d37620c8c Updater: Fix overwriting directories with files 2023-07-18 01:43:07 -07:00
Vicki Pfau 1ec45502fb FFmpeg: Fix isampleRate initialization 2023-07-17 21:37:37 -07:00
Vicki Pfau 1dc94c999a Qt: Fix leak if loading a save file fails 2023-07-17 21:36:23 -07:00
Vicki Pfau afb614ad03 ARM: Fake bpkt instruction should take no cycles (fixes #2551) 2023-07-05 22:11:59 -07:00
Vicki Pfau a51cb3f921 GBA SIO: Fix normal mode SI/SO semantics (fixes #2925) 2023-07-03 23:15:47 -07:00
Vicki Pfau 1acb7dfa9e Qt: Add exporting of SAV + RTC GB saves from Save Converter to strip RTC data 2023-07-03 16:10:35 -07:00
Vicki Pfau b06c22a408 GB Audio: Force update channels 1/2 if updating from a register write 2023-07-03 16:10:05 -07:00
Vicki Pfau 2669e0f772 GB Audio: Update channels 1/2 irregularly if silent 2023-07-03 16:10:05 -07:00
Vicki Pfau 87c9d3851e ARM: Remove obsolete force-alignment in `bx pc` (fixes #2964) 2023-06-29 01:29:55 -07:00
Vicki Pfau 0d353a740f GB Audio: Fix channel 1 restarting if sweep applies after stop (fixes #2965) 2023-06-29 01:29:38 -07:00
Vicki Pfau 72379168cb GB: Add missing CGB0 BIOS to model detection 2023-06-26 04:45:59 -07:00
Vicki Pfau 76fe63a254 GBA Audio: Fix initial channel 3 wave RAM (fixes #2947) 2023-06-26 04:45:59 -07:00
Vicki Pfau 24f3d8808f GBA Audio: Fix sample timing drifting when changing sample interval 2023-06-19 22:38:38 -07:00
Vicki Pfau 6c4ca7724f Qt: Add exporting of SAV + RTC GBA saves from Save Converter to strip RTC data 2023-06-18 15:18:34 -07:00
Vicki Pfau 276e911e38 Qt: Reduce minimum size of GB palette color pickers 2023-06-13 16:08:11 -07:00
Vicki Pfau e49fe46c26 Qt: Attempt to shorten Game Boy settings pane 2023-06-13 16:08:08 -07:00
Vicki Pfau 724b79b035 Scripting: Fix build against Lua 5.2 2023-06-04 20:31:04 -07:00
Vicki Pfau c37949fee7 Core: Only attempt to open symbol file if basedir exists 2023-06-04 20:30:47 -07:00
May d99f7b9912 [UI bug] mGBA doesn't update savestate screenshots until you move the cursor over other savestates (#2929) 2023-06-04 20:30:35 -07:00
Vicki Pfau 97162280f9 GB I/O: Read back proper SVBK value after writing 0 (fixes #2921) 2023-05-09 14:51:47 -07:00
Vicki Pfau 84d600cba6 GB SIO: Disabling SIO should cancel pending transfers (fixes #2537) 2023-05-08 04:43:54 -07:00
Vicki Pfau 21cfb15f99 mGUI: Make "bios" name check case-insensitive 2023-05-08 04:43:36 -07:00
Vicki Pfau ff3c68bbd6 GBA BIOS: Fix clobbering registers with word-sized CpuSet 2023-04-28 22:47:11 -07:00
Vicki Pfau 5f762e68b8 GB Audio: Fix channels 1/2 staying muted if restarted after long silence 2023-04-28 19:35:45 -07:00
Vicki Pfau 5a94780871 Debugger: Reject traces with negative trace amounts (fixes #2900) 2023-04-26 00:49:45 -07:00
Vicki Pfau 078ce85774 CMake: Bump version 2023-04-26 00:49:45 -07:00
Vicki Pfau 2fb5545061 CHANGES: Update for 0.10.2 2023-04-23 21:15:24 -07:00
Vicki Pfau c5743e7931 Res: Update no-intro 2023-04-23 21:15:24 -07:00
Vicki Pfau b876218060 Res: Update Patrons for April 2023-04-23 20:25:33 -07:00
Vicki Pfau 76acad90a6 Qt: Only disable swapInterval when fast-forwarding 2023-04-23 20:09:11 -07:00
Vicki Pfau c0e3db2bb4 GB, GBA Audio: Clamp audio buffer size to 8192 2023-04-23 20:09:11 -07:00
Vicki Pfau cbe87be222 GBA Video: Don't repeat yourself 2023-04-18 21:42:40 -07:00
Vicki Pfau e15cca9623 GBA Video: Fix interpolation issues with OpenGL renderer 2023-04-18 21:42:40 -07:00
Vicki Pfau b0441cffd0 CHANGES: Update 2023-04-18 21:40:27 -07:00
Vicki Pfau 2f2287683a Qt: Rip out OpenGL proxy thread 2023-04-18 21:38:56 -07:00
Vicki Pfau 70bbe06bfb Qt: Manually toggle swap interval as needed 2023-04-18 21:37:12 -07:00
Vicki Pfau d79a83321c Vita: Work around broken mktime implementation in Vita SDK (fixes #2876) 2023-04-12 03:35:42 -07:00
Vicki Pfau 8344efdccd Scripting: Return proper callback ID from socket.add 2023-04-12 03:35:33 -07:00
Vicki Pfau 7517cce0af FFmpeg: Fix comment 2023-04-07 01:12:29 -07:00
Vicki Pfau 5a642ae1f1 FFmpeg: Force lower sample rate for codecs not supporting high rates (fixes #2869) 2023-04-07 00:58:28 -07:00
Vicki Pfau 9d7f47413c FFmpeg: Fix buffer size rounding for audio encoding 2023-04-07 00:49:56 -07:00
Vicki Pfau 6806850441 Core: Fix memory leaks in mCacheSet 2023-04-05 05:06:28 -07:00
Vicki Pfau 121376ccb0 Qt: Fix checked state of mute menu option at load (fixes #2701) 2023-03-27 01:10:07 -07:00
Vicki Pfau 7d9d71ef54 GBA Audio: Clear GB audio state when disabled 2023-03-26 23:59:39 -07:00
Vicki Pfau 7da48a7c7f Qt: Swap P1 and other player's save if P1 loaded it first (closes #2750) 2023-03-26 23:59:34 -07:00
Vicki Pfau ff3f2a9d84 Util: Strip loading 16-bit PNGs down to 8-bit 2023-03-25 01:46:49 -07:00
Vicki Pfau 87295370f1 GBA Overrides: Fix saving in PMD:RRT (JP) (fixes #2862) 2023-03-24 23:48:13 -07:00
Vicki Pfau e01b56fbd5 Scripting: Fix scalar hashing on different union layouts, e.g. big endian 2023-03-19 03:50:18 -07:00
Vicki Pfau 5b52f0f277 Qt: Fix OSD on modern macOS (fixes #2736) 2023-03-17 02:38:51 -07:00
Vicki Pfau e7f56bd5c9 GDB: Ugh 2023-03-06 14:57:16 -08:00
Vicki Pfau 40e7d2aa4d GDB: Enable NODELAY on GDB stub connections 2023-03-06 14:51:32 -08:00
Vicki Pfau 603ab67926 Qt: Fix buffer termination issue 2023-03-06 00:08:58 -08:00
Vicki Pfau 5f6244556e Qt: Fix black screen when starting with a game (fixes #2781) 2023-03-05 23:55:54 -08:00
Vicki Pfau 06b1b04c7d GBA Saveata: Fix fumbled check 2023-03-05 14:22:01 -08:00
Vicki Pfau 853b028892 VFS: Improve zip invariant handling 2023-03-02 22:30:26 -08:00
Vicki Pfau 1ed40a1931 Qt: Fix potential directory handle leak 2023-03-02 22:30:26 -08:00
Vicki Pfau b8248327a2 Util: Fix potential socket leak 2023-03-02 22:30:26 -08:00
Vicki Pfau b6e34f084f Qt: Better fps non-zero division check 2023-03-01 23:11:36 -08:00
Vicki Pfau 8b67243780 Qt: Initialize Shortcut::m_direction 2023-03-01 23:05:28 -08:00
Vicki Pfau b06d178c41 GBA SIO: Who wrote this code? Oh, me 2023-03-01 22:53:24 -08:00
Vicki Pfau 43f2eb78d7 Qt: Initialize log-to members 2023-03-01 22:53:24 -08:00
Vicki Pfau 2e4732f1ff Core: Negative log types are invalid 2023-03-01 22:53:24 -08:00
Vicki Pfau 71174659f2 Core: Fix GBK string memory handling in .cht loading 2023-03-01 20:32:18 -08:00
Vicki Pfau d099a0d07e Feature: Fix No-Intro cleanup on initial errors 2023-03-01 20:28:10 -08:00
Vicki Pfau 3357fa6a03 All: Fix handling of strncat bounds 2023-03-01 20:18:21 -08:00
Vicki Pfau 72817df4cf GB: Fix potential double-free of non-pristine ROM memory 2023-03-01 20:18:05 -08:00
Vicki Pfau 9da638f0c0 GBA Savedata: Fix sanity check in Load 2023-03-01 16:17:51 -08:00
Vicki Pfau 1bbbbc745d Core: Add missing va_end 2023-03-01 16:17:29 -08:00
Vicki Pfau 18b798ec41 GB Memory: Fix potential crash when directly accessing invalid SRAM 2023-03-01 16:17:29 -08:00
Vicki Pfau bd805dd720 Qt: Fix crash if loading a shader fails 2023-03-01 16:17:29 -08:00
Vicki Pfau c13e2a822e OpenGL: Fix memory leak in failure path 2023-03-01 16:17:29 -08:00
Vicki Pfau 9132859b6f Qt: Fix full-buffer rewind 2023-03-01 16:00:00 -08:00
Vicki Pfau feb9c4a48b Windows: Fix build clang-cl 2023-02-24 22:07:21 -08:00
Vicki Pfau 081fe27e3a Qt: Automatically change video file extension as appropriate 2023-02-24 03:51:44 -08:00
Vicki Pfau 11d38a8317 CHANGES: Update 2023-02-22 20:22:45 -08:00
Vicki Pfau 766c6625c4 Scripting: Add WSAEWOULDBLOCK to error translation table 2023-02-22 20:22:09 -08:00
Vicki Pfau 1d01a7585c Qt: Fix loading a script leaving sync disabled 2023-02-15 02:30:27 -08:00
Vicki Pfau a473aeff2c Qt: Fix a handful of edge cases with graphics viewers (fixes #2827) 2023-02-14 23:14:02 -08:00
Adam Higerd 3f5fec4e4d hook frame callback in socket connect 2023-02-12 13:29:17 -08:00
Vicki Pfau 8c5ad62dbc OpenGL: Fix null calloc/memcpy 2023-02-11 22:09:30 -08:00
Vicki Pfau 5558e469e0 Qt: Fix modifier key names in shortcut editor (fixes #2817) 2023-02-09 20:02:14 -08:00
Vicki Pfau 1164d5b470 Qt: Disable attempted linking betwen incompatible platforms (fixes #2702) 2023-02-09 00:20:21 -08:00
Vicki Pfau b9a950fee7 Qt: Properly cap number of attached players by platform (fixes #2807) 2023-02-09 00:20:20 -08:00
Vicki Pfau 7e624c6857 GBA SIO: Normal mode transfers with no clock should not finish (fixes #2811) 2023-02-09 00:19:12 -08:00
Vicki Pfau 395fa2da4c GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes #2810) 2023-02-09 00:18:34 -08:00
Vicki Pfau 4738e558f2 GBA Timers: Cascading timers don't tick when disabled (fixes #2812) 2023-02-03 01:44:31 -08:00
Vicki Pfau 1f2df26e22 Script: Fix table string key UAF 2023-01-31 21:12:42 -08:00
Vicki Pfau 4f8763ad0b Script: Fix leaking tables passed from Lua 2023-01-31 21:12:42 -08:00
Vicki Pfau 1331788b6e GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes #2805) 2023-01-30 20:50:34 -08:00
Vicki Pfau 7c4a7796f8 GBA Audio: Fix improperly deserializing GB audio registers (fixes #2793) 2023-01-30 00:21:48 -08:00
Vicki Pfau 5183edc3c6 Qt: Stop eating boolean action key events (fixes #2636) 2023-01-29 01:48:33 -08:00
Vicki Pfau 5d1fdf3b24 Qt: Unbind apostrophe from GameShark button by default 2023-01-29 01:36:59 -08:00
Vicki Pfau b00a04099f CHANGES: Wrong bug report 2023-01-28 22:41:06 -08:00
Vicki Pfau d29e782789 Core: Allow sending thread requests to a crashed core (fixes #2785) 2023-01-28 22:39:06 -08:00
Vicki Pfau 17322e50b8 Qt: It's 2023 now 2023-01-28 22:10:15 -08:00
Vicki Pfau 31755ebb19 Qt: Disable sync while running scripts from main thread (fixes #2738) 2023-01-27 19:42:28 -08:00
Vicki Pfau f69853e8ba Qt: Include wayland QPA in AppImage (fixes #2796) 2023-01-26 07:18:42 -08:00
Vicki Pfau df6ae1883c Qt: Fix crash when attempting to use OpenGL 2.1 to 3.1 (fixes #2794) 2023-01-26 05:57:33 -08:00
Vicki Pfau 21f441953f Scripting: Fix mSCRIPT_TYPE_MS_PCS macro 2023-01-26 03:35:24 -08:00
Vicki Pfau 3415dfa1b7 Qt: Add ig4icd32 crash to OpenGL bug database (see #2136) 2023-01-26 03:35:04 -08:00
Vicki Pfau 71d1f122f9 Libretro: Add back missing audio overkill (fixes #2734) 2023-01-26 03:34:34 -08:00
Vicki Pfau 9c69b86d71 GBA Memory: Make VRAM access stalls only apply to BG RAM 2023-01-16 00:54:56 -08:00
Vicki Pfau b5b4271145 CHANGES: Oops 2023-01-12 15:10:47 -08:00
TheMechasaur a4b63e1db9
Correct year of release date of 0.10.1 to 2023 (#2783) 2023-01-11 21:59:17 -08:00
Vicki Pfau 86061dbc3b CMake: Bump version 2023-01-10 19:53:02 -08:00
Vicki Pfau 456ac2222b CHANGES: Update for 0.10.1 2023-01-10 19:51:20 -08:00
Vicki Pfau a413dda335 Qt: Work around Mesa issue 8035 2023-01-10 18:44:47 -08:00
Vicki Pfau c8d7a7d1a3 Qt: Fix minor leak 2023-01-10 18:43:44 -08:00
Vicki Pfau 9d6d2c9c6b GB Audio: Fix regression in channel updating with NR5x (fixes #2775) 2023-01-06 14:26:27 -08:00
Vicki Pfau f7acda6d64 Qt: Redo stable branch detection heuristic 2022-12-31 18:15:47 -08:00
Vicki Pfau 0da3498ee8 Qt: Fix initializing update revision info 2022-12-31 17:54:41 -08:00
Vicki Pfau d17b1da1b7 GB BIOS: Include timing in degenerate ArcTan2 cases (fixes #2763) 2022-12-27 20:39:30 -08:00
Vicki Pfau 0d52995877 GBA Cheats: Fix issues detecting unencrypted cheats (fixes #2724) 2022-12-22 16:02:22 -08:00
Vicki Pfau 63a019b749 Qt: Start OpenGL bug list with glFlush cross-thread on Windows (fixes #2761) 2022-12-21 22:13:51 -08:00
Vicki Pfau fac26cda3c Qt: glFlush is (thankfully) sufficient here 2022-12-18 21:49:41 -08:00
Vicki Pfau 245f4b961a Qt: Tentative fix for renderer switching crash 2022-12-18 21:49:41 -08:00
Vicki Pfau 3d723d5cf4 GBA Video: Fix #2489 in OpenGL renderer 2022-12-18 17:01:26 -08:00
Vicki Pfau 1a4dc70731 GBA: Clean up BIOS skip detection; add second multiboot entry 2022-12-18 12:53:04 -08:00
CasualPokePlayer 411b7dccb4 Check gba->mbVf for force skipping the BIOS (#2754) 2022-12-17 00:22:40 -08:00
Vicki Pfau 947a1c8f5c Qt: Refactor and fix dequeueAll so keep mode keeps last draw tex too 2022-12-17 00:21:19 -08:00
Vicki Pfau 576f607c81 GB IO: Fix BANK not getting initialized after recent change 2022-12-13 15:18:38 -08:00
Vicki Pfau ab790f4c6d Qt: Fix loading/unloading shaders 2022-12-12 14:31:54 -08:00
Vicki Pfau 94277cffbb Qt: Fix proxy context creation on Nvidia (fixes #2746) 2022-12-12 03:12:26 -08:00
Vicki Pfau 7ba3b40977 GB Audio: Fix updating channels other than 2 when writing NR5x 2022-12-11 19:17:24 -08:00
Vicki Pfau 3dbb90e574 GB Audio: Fix up boot sequence 2022-12-11 19:17:24 -08:00
Vicki Pfau c323ab384c GB Memory: Actually, HDMAs should start when LCD is off (fixes #2662) 2022-12-11 19:17:24 -08:00
Vicki Pfau 411741fba3 GB Audio: Fix channel 3 volume being changed between samples (fixes #1896) 2022-12-07 01:22:33 -08:00
Vicki Pfau 9f057e2719 GB Audio: Fix channels 1/2 not playing when resetting volume (fixes #2614) 2022-11-28 22:39:05 -08:00
Vicki Pfau 0fc6b02691 Qt: Fix build on older Qt 2022-11-28 14:25:04 -08:00
Vicki Pfau 3866d74707 Qt: Improve handling of multiplayer syncing (fixes #2720) 2022-11-28 01:03:10 -08:00
Vicki Pfau aeaa40e373 GB SIO: Further fix bidirectional transfer starting 2022-11-28 01:03:10 -08:00
Vicki Pfau 8e58dcadb8 Qt: Don't re-enable sync if GBA link modes aren't the same (fixes #2044) 2022-11-28 01:03:10 -08:00
Vicki Pfau f632b85338 Qt: Move OpenGL proxy onto its own thread (fixes #2493) 2022-11-28 01:03:10 -08:00
Vicki Pfau 3cd63cb71c CHANGES: Spill chicken 2022-11-12 00:45:48 -08:00
Vicki Pfau 4914954c67 GBA: Fix resetting key IRQ state (fixes #2716) 2022-11-12 00:45:44 -08:00
Vicki Pfau 20c16bc8e7 GBA Video: Ignore disabled backgrounds as OBJ blend target (fixes #2489) 2022-11-07 23:13:58 -08:00
Vicki Pfau 838e4a182e VFS: Fix minizip write returning 0 on success instead of size 2022-10-29 01:42:21 -07:00
Vicki Pfau e3605d291c Updater: Fix mUpdaterGetUpdateForChannel 2022-10-29 01:42:21 -07:00
Vicki Pfau 12f7168e9f macOS: Fix modern build with libepoxy (fixes #2700) 2022-10-20 20:11:37 -07:00
Vicki Pfau 455525e3b6 Qt: Keep track of current pslette preset name (fixes #2680) 2022-10-19 04:17:11 -07:00
Vicki Pfau 3f39bd2536 macOS: Add category to plist (closes #2691) 2022-10-19 04:16:40 -07:00
Vicki Pfau 838122c234 GB Serialize: Don't write BGP/OBP when loading SCGB state (fixes #2694) 2022-10-18 01:39:49 -07:00
Vicki Pfau c6d7c8f601 Qt: Fix e-Reader scanning function reentry (fixes #2693) 2022-10-16 22:15:05 -07:00
Vicki Pfau 9a3ec792dd README: Add MBC30 to the supported mappers list (closes #2686) 2022-10-16 03:29:50 -07:00
Vicki Pfau c4718d6907 Qt: Add missing Sachen MMC2 mapper 2022-10-16 01:31:01 -07:00
Vicki Pfau 64255a716b Qt: Expand criteria for tag branch names (fixes #2679) 2022-10-14 23:37:03 -07:00
Vicki Pfau 277aa36d12 Qt: Manually split filename to avoid overzealous splitting (fixes #2681) 2022-10-14 23:37:01 -07:00
Vicki Pfau 81cb4c3bf6 Res: Fix species name location in Ruby/Sapphire revs 1/2 (fixes #2685) 2022-10-14 23:36:57 -07:00
Vicki Pfau df599a1fb6 CMake: Bump verison 2022-10-11 22:24:06 -07:00
884 changed files with 29745 additions and 99350 deletions

BIN
.gitignore vendored

Binary file not shown.

67
CHANGES
View File

@ -1,70 +1,3 @@
0.11.0: (Future)
Features:
- Forwarder support for 3DS and Vita
- Custom border support
- New option to lock the maximum frame size
- Memory access and information logging
- 3DS: Add faster "loose" sync mode, default enabled
- Vita: Allow using rear touch pads as L2/L3/R2/R3
- Scripting: New `input` API for getting raw keyboard/mouse/controller state
- Scripting: New `storage` API for saving data for a script, e.g. settings
- Scripting: New `image` and `canvas` APIs for drawing images and displaying on-screen
- Scripting: Debugger integration to allow for breakpoints and watchpoints
- New unlicensed GB mappers: NT (older types 1 and 2), Li Cheng, GGB-81, Sintax
- Initial support for bootleg GBA multicarts
- Debugger: Add range watchpoints
- "Headless" frontend for running tests, automation, etc.
Emulation fixes:
- ARM: Add framework for coprocessor support
- GB Serialize: Add missing Pocket Cam state to savestates
- GB Video: Implement DMG-style sprite ordering
- GBA: Unhandled bkpt should be treated as an undefined exception
- GBA: Add baseline CP0 (Wii U VC) and CP1 (DCC) implementations
- GBA Serialize: Fix some minor save state edge cases
- GBA Video: Disable BG target 1 blending when OBJ blending (fixes mgba.io/i/2722)
- GBA Video: Improve emulation of window start/end conditions (fixes mgba.io/i/1945)
Other fixes:
- Core: Fix inconsistencies with setting game-specific overrides (fixes mgba.io/i/2963)
- Debugger: Fix writing to specific segment in command-line debugger
- GBA: Fix getting game info for multiboot ROMs
- mGUI: Load parent directory if last used directory is missing (fixes mgba.io/i/3379)
- Qt: Fix savestate preview sizes with different scales (fixes mgba.io/i/2560)
- Qt: Fix potential crash when configuring shortcuts
- Qt: Fix regression where loading BIOS creates a save file (fixes mgba.io/i/3359)
Misc:
- 3DS: Change title ID to avoid conflict with commercial title (fixes mgba.io/i/3023)
- Core: Handle relative paths for saves, screenshots, etc consistently (fixes mgba.io/i/2826)
- Core: Improve rumble emulation by averaging state over entire frame (fixes mgba.io/i/3232)
- Core: Add MD5 hashing for ROMs
- Core: Add support for specifying an arbitrary portable directory
- Core: Add SHA1 hashing for ROMs
- FFmpeg: Add Ut Video option
- GB: Prevent incompatible BIOSes from being used on differing models
- GB Serialize: Add missing savestate support for MBC6 and NT (newer)
- GBA: Improve detection of valid ELF ROMs
- GBA Audio: Remove broken XQ audio pending rewrite
- GBA BIOS: Move SoftReset implementation to assembly
- GBA Memory: Improve VRAM access stall cycle estimation
- GBA SIO: Rewrite lockstep driver for improved stability
- GBA Video: Add special circlular window handling in OpenGL renderer
- Libretro: Add Super Game Boy Color support (closes mgba.io/i/3188)
- mGUI: Enable auto-softpatching (closes mgba.io/i/2899)
- mGUI: Persist fast forwarding after closing menu (fixes mgba.io/i/2414)
- mGUI: Wrap around menu cursor when navigating past end (closes mgba.io/i/3356)
- Qt: Handle multiple save game files for disparate games separately (fixes mgba.io/i/2887)
- Qt: Remove maligned double-click-to-fullscreen shortcut (closes mgba.io/i/2632)
- Qt: Pass logging context through to video proxy thread (fixes mgba.io/i/3095)
- Qt: Show maker code and game version in ROM info
- Qt: Show a dummy shader settings tab if shaders aren't supported
- Qt: Allow passing multiple games on command line for multiplayer (closes mgba.io/i/3061)
- Qt: Support building against Qt 6
- Qt: Add shortcuts to increment fast forward speed (mgba.io/i/2903)
- Qt: Enable ROM preloading by default
- Res: Port hq2x and OmniScale shaders from SameBoy
- Res: Port NSO-gba-colors shader (closes mgba.io/i/2834)
- Res: Update gba-colors shader (closes mgba.io/i/2976)
- Scripting: Add `callbacks:oneshot` for single-call callbacks
0.10.5: (2025-03-08)
Other fixes:
- ARM Debugger: Fix disassembly of ror r0 barrel shift (fixes mgba.io/i/3412)

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.10)
cmake_minimum_required(VERSION 3.1)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/src/platform/cmake/")
if(POLICY CMP0025)
@ -34,23 +34,19 @@ 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 -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")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
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(ENABLE_DEBUGGERS ON CACHE BOOL "Whether or not to enable the debugging infrastructure")
set(USE_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(ENABLE_GDB_STUB ON CACHE BOOL "Whether or not to enable the GDB stub ARM debugger")
set(USE_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")
@ -59,7 +55,6 @@ 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")
@ -68,21 +63,23 @@ if(NOT LIBMGBA_ONLY)
set(BUILD_QT ON CACHE BOOL "Build Qt frontend")
set(BUILD_SDL ON CACHE BOOL "Build SDL frontend")
set(BUILD_LIBRETRO OFF CACHE BOOL "Build libretro core")
if(APPLE)
set(BUILD_OPENEMU OFF CACHE BOOL "Build OpenEmu core")
endif()
set(BUILD_PERF OFF CACHE BOOL "Build performance profiling tool")
set(BUILD_TEST OFF CACHE BOOL "Build testing harness")
set(BUILD_SUITE OFF CACHE BOOL "Build test suite")
set(BUILD_CINEMA OFF CACHE BOOL "Build video tests suite")
set(BUILD_HEADLESS OFF CACHE BOOL "Build headless tool")
set(BUILD_ROM_TEST OFF CACHE BOOL "Build ROM test tool")
set(BUILD_EXAMPLE OFF CACHE BOOL "Build example frontends")
set(BUILD_PYTHON OFF CACHE BOOL "Build Python bindings")
set(BUILD_STATIC OFF CACHE BOOL "Build a static library")
set(BUILD_SHARED ON CACHE BOOL "Build a shared library")
set(SKIP_LIBRARY OFF CACHE BOOL "Skip building the library (useful for only building libretro core)")
set(SKIP_LIBRARY OFF CACHE BOOL "Skip building the library (useful for only building libretro or OpenEmu cores)")
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")
@ -91,7 +88,6 @@ 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)
@ -141,6 +137,11 @@ 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)
@ -158,7 +159,6 @@ endif()
include(FindFeature)
include(FindFunction)
include(DebugStrip)
# Version information
add_custom_target(${BINARY_NAME}-version-info ALL
@ -208,22 +208,18 @@ 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 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)
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)
file(GLOB OS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/windows/*.c)
source_group("Windows-specific code" FILES ${OS_SRC})
elseif(UNIX)
@ -233,8 +229,7 @@ elseif(UNIX)
add_definitions(-D_GNU_SOURCE)
endif()
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)
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)
file(GLOB OS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/posix/*.c)
source_group("POSIX-specific code" FILES ${OS_SRC})
endif()
@ -247,12 +242,6 @@ if(APPLE)
endif()
add_definitions(-D_DARWIN_C_SOURCE)
list(APPEND OS_LIB "-framework Foundation")
# Xcode 15 introduced a warning about duplicate libraries that CMake doesn't disable itself, we do it here globally
if(MACOSX_SDK VERSION_GREATER_EQUAL 10.15)
add_link_options(LINKER:-no_warn_duplicate_libraries)
endif()
if(NOT CMAKE_SYSTEM_VERSION VERSION_LESS "10.0") # Darwin 10.x is Mac OS X 10.6
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.6")
endif()
@ -283,6 +272,20 @@ 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()
@ -293,7 +296,7 @@ endif()
if(DEFINED 3DS OR DEFINED PSP2 OR DEFINED WII OR DEFINED SWITCH)
set(IS_EMBEDDED ON)
set(ENABLE_DEBUGGERS OFF)
set(USE_DEBUGGERS OFF)
set(USE_SQLITE3 OFF)
set(USE_DISCORD_RPC OFF)
set(USE_LIBZIP OFF CACHE BOOL "")
@ -305,12 +308,12 @@ if(DEFINED SWITCH)
endif()
if(NOT M_CORE_GBA)
set(ENABLE_GDB_STUB OFF)
set(USE_GDB_STUB OFF)
endif()
if(NOT ENABLE_DEBUGGERS)
if(NOT USE_DEBUGGERS)
set(USE_EDITLINE OFF)
set(ENABLE_GDB_STUB OFF)
set(USE_GDB_STUB OFF)
endif()
if(WII)
@ -339,8 +342,6 @@ find_function(futimens)
find_function(futimes)
find_function(localtime_r)
find_function(realpath)
if(ANDROID AND ANDROID_NDK_MAJOR GREATER 13)
list(APPEND FUNCTION_DEFINES HAVE_STRTOF_L)
elseif(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
@ -349,9 +350,6 @@ elseif(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
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)
@ -484,9 +482,8 @@ if(NOT BUILD_GLES2 AND NOT BUILD_GLES3 AND NOT LIBMGBA_ONLY)
endif()
if(DISABLE_DEPS)
set(ENABLE_GDB_STUB OFF)
set(USE_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)
@ -532,12 +529,14 @@ 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(ENABLE_GDB_STUB)
list(APPEND ENABLES GDB_STUB)
if(USE_GDB_STUB)
list(APPEND FEATURES GDB_STUB)
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/debugger/gdb-stub.c)
endif()
source_group("Debugger" FILES ${DEBUGGER_SRC})
@ -581,6 +580,8 @@ 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)
@ -772,36 +773,11 @@ 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})
@ -845,10 +821,10 @@ if(M_CORE_GBA)
list(APPEND TEST_SRC ${ARM_TEST_SRC} ${GBA_TEST_SRC})
endif()
if(ENABLE_DEBUGGERS)
if(USE_DEBUGGERS)
list(APPEND FEATURE_SRC ${DEBUGGER_SRC})
list(APPEND TEST_SRC ${DEBUGGER_TEST_SRC})
list(APPEND ENABLES DEBUGGERS)
list(APPEND FEATURES DEBUGGERS)
endif()
if(ENABLE_SCRIPTING)
@ -856,10 +832,6 @@ if(ENABLE_SCRIPTING)
list(APPEND TEST_SRC ${SCRIPT_TEST_SRC})
endif()
if(ENABLE_VFS)
list(APPEND ENABLES VFS DIRECTORIES)
endif()
foreach(FEATURE IN LISTS FEATURES)
list(APPEND FEATURE_DEFINES "USE_${FEATURE}")
endforeach()
@ -873,6 +845,7 @@ 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()
@ -897,11 +870,7 @@ list(APPEND CORE_SRC
${THIRD_PARTY_SRC})
list(APPEND TEST_SRC ${UTIL_TEST_SRC})
set(SRC ${CORE_SRC})
if(ENABLE_VFS)
list(APPEND SRC ${VFS_SRC})
endif()
set(SRC ${CORE_SRC} ${VFS_SRC})
if(NOT MINIMAL_CORE)
set(ENABLE_EXTRA ON)
if(M_CORE_GBA)
@ -933,7 +902,7 @@ if(NOT SKIP_LIBRARY)
endif()
if(BUILD_SHARED)
add_library(${BINARY_NAME} SHARED ${SRC})
add_library(${BINARY_NAME} SHARED ${SRC} ${VFS_SRC})
set(EXPORT_DEFINES MGBA_DLL)
if(BUILD_STATIC)
add_library(${BINARY_NAME}-static STATIC ${SRC})
@ -953,14 +922,6 @@ if(NOT SKIP_LIBRARY)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/mgba-util)
if(BUILD_STATIC)
# Some versions of CMake are remarkably bad about deduplicating this list,
# leading to issues with static linking. Let's do it manually.
list(REVERSE DEPENDENCY_LIB)
list(REMOVE_DUPLICATES DEPENDENCY_LIB)
list(REVERSE DEPENDENCY_LIB)
endif()
target_link_libraries(${BINARY_NAME} ${DEBUGGER_LIB} ${DEPENDENCY_LIB} ${OS_LIB})
install(TARGETS ${BINARY_NAME} LIBRARY DESTINATION ${LIBDIR} COMPONENT lib${BINARY_NAME} NAMELINK_SKIP ARCHIVE DESTINATION ${LIBDIR} RUNTIME DESTINATION ${LIBDIR} COMPONENT lib${BINARY_NAME})
if(BUILD_SHARED)
@ -1001,9 +962,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} ${CORE_VFS_SRC})
add_library(${BINARY_NAME}_libretro SHARED ${CORE_SRC} ${RETRO_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};ENABLE_VFS;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};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)
@ -1012,7 +973,23 @@ if(BUILD_LIBRETRO)
endif()
endif()
if(BUILD_QT AND (WIN32 OR APPLE OR CMAKE_SYSTEM_NAME STREQUAL "Linux") AND ENABLE_VFS)
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"))
set(BUILD_UPDATER ON)
endif()
@ -1020,7 +997,7 @@ if(BUILD_UPDATER)
add_executable(updater-stub WIN32 ${CORE_VFS_SRC} ${VFS_SRC} ${OS_SRC} ${UTIL_BASE_SRC} ${THIRD_PARTY_SRC}
${CMAKE_CURRENT_SOURCE_DIR}/src/core/config.c
${CMAKE_CURRENT_SOURCE_DIR}/src/feature/updater.c
${CMAKE_CURRENT_SOURCE_DIR}/src/tools/updater-main.c)
${CMAKE_CURRENT_SOURCE_DIR}/src/feature/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)
@ -1032,14 +1009,8 @@ if(BUILD_UPDATER)
endif()
if(ENABLE_SCRIPTING AND BUILD_DOCGEN)
add_executable(docgen ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/docgen.c)
add_executable(docgen ${CMAKE_CURRENT_SOURCE_DIR}/src/script/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)
@ -1050,14 +1021,6 @@ if(BUILD_QT)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/platform/qt ${CMAKE_CURRENT_BINARY_DIR}/qt)
endif()
if(BUILD_HEADLESS)
add_executable(${BINARY_NAME}-headless ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/headless-main.c)
target_link_libraries(${BINARY_NAME}-headless ${PLATFORM_LIBRARY} ${BINARY_NAME})
debug_strip(${BINARY_NAME}-headless)
target_compile_definitions(${BINARY_NAME}-headless PRIVATE "${OS_DEFINES};${FEATURE_DEFINES};${FUNCTION_DEFINES}")
install(TARGETS ${BINARY_NAME}-headless DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${BINARY_NAME}-headless)
endif()
if(NOT USE_CMOCKA)
set(BUILD_SUITE OFF)
endif()
@ -1087,7 +1050,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 DESTINATION ${CMAKE_INSTALL_DOCDIR}/licenses COMPONENT ${BINARY_NAME})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/licenses/blip_buf.txt 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})
@ -1255,11 +1218,6 @@ if(SDL_FOUND)
cpack_add_component(${BINARY_NAME}-sdl GROUP sdl)
endif()
if(BUILD_HEADLESS)
cpack_add_component_group(headless PARENT_GROUP base)
cpack_add_component(${BINARY_NAME}-headless GROUP headless)
endif()
if(DISTBUILD)
cpack_add_component_group(debug PARENT_GROUP dev)
if(BUILD_SHARED AND NOT IS_EMBEDDED)
@ -1274,9 +1232,6 @@ if(DISTBUILD)
if(SDL_FOUND)
cpack_add_component(${BINARY_NAME}-sdl-dbg GROUP debug)
endif()
if(BUILD_HEADLESS)
cpack_add_component(${BINARY_NAME}-headless-dbg GROUP debug)
endif()
if(WIN32)
cpack_add_component_group(installer PARENT_GROUP base)
endif()
@ -1322,11 +1277,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: ${ENABLE_DEBUGGERS}")
message(STATUS " Debuggers: ${USE_DEBUGGERS}")
if(NOT WIN32)
message(STATUS " CLI debugger: ${USE_EDITLINE}")
endif()
message(STATUS " GDB stub: ${ENABLE_GDB_STUB}")
message(STATUS " GDB stub: ${USE_GDB_STUB}")
message(STATUS " GIF/Video recording: ${USE_FFMPEG}")
message(STATUS " Screenshot/advanced savestate support: ${USE_PNG}")
message(STATUS " ZIP support: ${SUMMARY_ZIP}")
@ -1342,12 +1297,10 @@ 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}")
message(STATUS " SDL (${SDL_VERSION}): ${BUILD_SDL}")
message(STATUS " Headless: ${BUILD_HEADLESS}")
message(STATUS " Python bindings: ${BUILD_PYTHON}")
message(STATUS " Examples: ${BUILD_EXAMPLE}")
message(STATUS "Test tools:")
@ -1355,8 +1308,12 @@ if(NOT QUIET AND NOT LIBMGBA_ONLY)
message(STATUS " Test harness: ${BUILD_TEST}")
message(STATUS " Test suite: ${BUILD_SUITE}")
message(STATUS " Video test suite: ${BUILD_CINEMA}")
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}")

View File

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

View File

@ -55,10 +55,11 @@ The following mappers are fully supported:
- 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)
- Sachen MMC1 (unlicensed)
- BBD (unlicensed MBC5-like)
- Hitek (unlicensed MBC5-like)
- Sachen MMC1
The following mappers are partially supported:
@ -69,11 +70,6 @@ The following mappers are partially supported:
- 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)
- Sintax (missing logo switching)
### Planned features
@ -126,9 +122,9 @@ Compiling requires using CMake 3.1 or newer. GCC, Clang, and Visual Studio 2019
#### 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:
@ -235,7 +231,6 @@ 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.
@ -256,11 +251,12 @@ Footnotes
Copyright
---------
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 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 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,6 +247,7 @@ 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,6 +247,7 @@ 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

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

View File

@ -5,9 +5,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
可在以下网址找到最新新闻和下载:[mgba.io](https://mgba.io/)。
[![Build status](https://buildbot.mgba.io/badges/build-win32.svg)](https://buildbot.mgba.io)
[![Translation status](https://hosted.weblate.org/widgets/mgba/-/svg-badge.svg)](https://hosted.weblate.org/engage/mgba)
[![Build status](https://travis-ci.org/mgba-emu/mgba.svg?branch=master)](https://travis-ci.org/mgba-emu/mgba)
功能
--------
@ -15,7 +13,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)。
- 支持附带有运动传感器和振动机制的卡带(仅适用于游戏控制器)。
@ -23,7 +21,6 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- 支持《我们的太阳》系列游戏的太阳能传感器。
- 支持 Game Boy 相机和 Game Boy 打印机。
- 内置 BIOS 执行,并具有加载外部 BIOS 文件的功能。
- 支持使用 Lua 编写脚本
- 支持 Turbo/快进功能(按住 Tab 键)。
- 支持倒带(按住反引号键)。
- 支持跳帧,最多可配置 10 级。
@ -35,11 +32,10 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- 可重新映射键盘和游戏手柄的控制键。
- 支持从 ZIP 和 7z 文件中加载。
- 支持 IPS、UPS 和 BPS 补丁。
- 支持通过命令行界面和 GDB 远程支持进行游戏调试,兼容 Ghidra 和 IDA Pro。
- 支持通过命令行界面和 GDB 远程支持进行游戏调试,兼容 IDA Pro。
- 支持可配置的模拟倒带。
- 支持载入和导出 GameShark 和 Action Replay 快照。
- 适用于 RetroArch/Libretro 和 OpenEmu 的内核。
- 社区支持的多种语言翻译 [Weblate](https://hosted.weblate.org/engage/mgba).
- 许许多多的小玩意。
#### Game Boy 映射器mapper
@ -55,10 +51,9 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- MBC5+振动
- MBC7
- Wisdom Tree未授权
- NT "old type" 1 and 2 (未授权多合一卡带)
- NT "new type" (未授权 MBC5-like)
- Pokémon Jade/Diamond未授权
- Sachen MMC1 (未授权)
- BBD未授权、类 MBC5
- Hitek未授权、类 MBC5
部分支持以下 mapper
@ -68,11 +63,6 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- TAMA5缺少 RTC 支持)
- HuC-1缺少 IR 支持)
- HuC-3缺少 IR 和 RTC 支持)
- Sachen MMC2 (缺少备用接线支持)
- BBD (缺少图标切换)
- Hitek (缺少图标切换)
- GGB-81 (缺少图标切换)
- Li Cheng (缺少图标切换)
### 计划加入的功能
@ -80,6 +70,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- 支持 Dolphin/JOY 总线链接电缆。
- MP2k 音频混合,获得比硬件更高质量的声音。
- 支持针对工具辅助竞速Tool-Assisted Speedrun的重录功能。
- 支持 Lua 脚本。
- 全方位的调试套件。
- 支持无线适配器。
@ -121,19 +112,17 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
编译
---------
编译需要使用 CMake 3.1 或更新版本。已知 GCC , Clang 和 Visual Studio 2013 都可以编译 mGBA
编译需要使用 CMake 3.1 或更新版本。已知 GCC 和 Clang 都可以编译 mGBA而 Visual Studio 2013 和更旧的版本则无法编译。我们即将实现对 Visual Studio 2015 或更新版本的支持
#### 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
启动 Docker 容器之后, 此命令将生成 `build-win32` 目录, 此目录中包含编译产物。将 `mgba/windows:w32` 替换为其他平台上的 Docker 映像会生成相应的其他目录。Docker Hub 上提供了以下 Docker 映像:
此命令将生成 `build-win32` 目录。将 `mgba/windows:w32` 替换为其他平台上的 Docker 映像会生成相应的其他目录。Docker Hub 上提供了以下 Docker 映像:
- mgba/3ds
- mgba/switch
@ -146,8 +135,6 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
- mgba/windows:w32
- mgba/windows:w64
如果你希望加速编译过程, 可以考虑添加编译选项 `-e MAKEFLAGS=-jN`, 使用 `N` 个 CPU 核心来并行构建 mGBA
#### *nix 构建
要在基于 Unix 的系统上使用 CMake 进行构建,推荐执行以下命令:
@ -160,7 +147,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
这些命令将构建 mGBA 并将其安装到 `/usr/bin``/usr/lib` 中。系统会自动检测已安装的依赖项,如果未找到依赖项,则会在提示找不到依赖项的情况下运行 `cmake` 命令,并显示已被禁用的功能。
如果您使用的是 MacOS则步骤略有不同。假设您使用的 homebrew 软件包管理器,建议使用以下命令来获取依赖项并进行构建:
如果您使用的是 MacOS则步骤略有不同。假设您使用的是自制软件包管理器,建议使用以下命令来获取依赖项并进行构建:
brew install cmake ffmpeg libzip qt5 sdl2 libedit pkg-config
mkdir build
@ -233,12 +220,10 @@ mGBA 没有硬性的依赖项,但是特定功能需要以下可选的依赖项
- libzip 或 zlib载入储存在 ZIP 文件中的 ROM 的所需依赖项。
- SQLite3游戏数据库的所需依赖项
- libelfELF 载入的所需依赖项
- Lua: 脚本支持
- json-c: 脚本 `storage` API 支持
SQLite3、libpng 以及 zlib 已包含在模拟器中,因此不需要先对这些依赖项进行外部编译。
脚注
Footnotes
---------
<a name="missing">[1]</a> 目前缺失的功能有
@ -247,7 +232,7 @@ SQLite3、libpng 以及 zlib 已包含在模拟器中,因此不需要先对这
<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/
@ -255,11 +240,12 @@ SQLite3、libpng 以及 zlib 已包含在模拟器中,因此不需要先对这
版权
---------
mGBA 版权 © 2013 2023 Jeffrey Pfau。基于 [Mozilla 公共许可证版本 2.0](https://www.mozilla.org/MPL/2.0/) 许可证分发。分发的 LICENSE 文件中提供了许可证的副本。
mGBA 版权 © 2013 2020 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.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 703 B

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 998 B

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 918 B

View File

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

View File

@ -1,45 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

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

View File

@ -1,45 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 751 B

View File

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

View File

@ -1,45 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 679 B

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 666 B

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 679 B

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 747 B

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 682 B

View File

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

View File

@ -1,46 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

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

View File

@ -1,45 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

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

View File

@ -1,44 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

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

View File

@ -1,45 +0,0 @@
; 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.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

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

View File

@ -1,45 +0,0 @@
; 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