Commit Graph

522 Commits

Author SHA1 Message Date
Vicki Pfau fc64924cf5 GB MBC: Fix MBC7 sampling 2017-06-28 14:26:03 -07:00
Vicki Pfau cebc3f1cc4 Core: Fix some minor warnings, fix channel labels 2017-06-28 01:06:15 -07:00
Vicki Pfau 7b543df002 GB MBC: New MBC7 implementation 2017-06-24 18:02:19 -07:00
Vicki Pfau a2c1ef2fcc GB: Add per-game color overrides 2017-06-24 09:39:36 -07:00
Vicki Pfau 4efd494cd7 GB Timer: Improve timer stepping when updating 2017-06-22 02:18:22 -07:00
Vicki Pfau d5c5173889 GB: Reset with initial state of DIV register 2017-06-22 01:29:19 -07:00
Vicki Pfau 3a03d180d2 GB Timer: Fix sub-M-cycle DIV reset timing and edge triggering 2017-06-22 01:20:22 -07:00
Vicki Pfau bd9a9e445e GB: Fix DMA restarting 2017-06-18 22:07:39 -07:00
Vicki Pfau 4eece81b8c GB Audio: Fix square sample range (fixes #546) 2017-06-17 09:44:55 -07:00
Vicki Pfau 700ab0bd36 GB Audio: Fix channel 2 not updating during frame 7 2017-06-17 09:29:57 -07:00
Vicki Pfau 3c64a2e432 GB Timer: Fix TAC write fix 2017-06-16 21:35:04 -07:00
Vicki Pfau aa8f77c18f GB Video: Increase palette entry width to 24 bits 2017-06-13 22:15:48 -07:00
Vicki Pfau e0a414d87f GB Video: Fix regression with loading savestates 2017-06-13 21:20:12 -07:00
Vicki Pfau 34647ffdca GB: Trust ROM header for number of SRAM banks (fixes #726) 2017-06-13 21:14:20 -07:00
Vicki Pfau 307982116e GB Video: Reset renderer when loading state 2017-06-12 22:13:01 -07:00
Vicki Pfau e2dc5575b9 GB Audio: Fix channel 3 freeze 2017-06-12 07:26:33 -07:00
Vicki Pfau 59922fe2e9 GB Timer: Fix DIV batching if TAC changes 2017-06-12 07:14:19 -07:00
Vicki Pfau 126afa12d9 GB: Implement keypad IRQs 2017-06-11 14:51:48 -07:00
Vicki Pfau 87791b9db9 Core: Move savestate creation time to extdata 2017-06-10 09:27:19 -07:00
Vicki Pfau 49ccb3d080 GB MBC: Minor refactoring, basic Pocket Cam support 2017-06-07 23:06:28 -07:00
Vicki Pfau 202b7b1509 Core: List memory segments in the core 2017-06-05 15:20:58 -07:00
Vicki Pfau 19ecae8ca1 Debugger: Show current banks 2017-06-02 19:37:36 -07:00
Vicki Pfau 1caa17c00b GB I/O: Fix bootrom running forever 2017-06-02 15:58:00 -07:00
Vicki Pfau 3d77a9d922 GB MBC: Fix initialization and swapping 2017-06-02 11:26:53 -07:00
Vicki Pfau 6fe1f44351 GB Memory: Mark ROM not pristine when doing copy-on-write 2017-05-30 22:31:26 -07:00
Vicki Pfau f84af91173 GB MBC: Add MBC1-M support with basic heuristic 2017-05-30 22:31:26 -07:00
Vicki Pfau 404332e689 Debugger: Add symbol table skeleton, GB support 2017-05-22 22:19:46 -07:00
Vicki Pfau 0b28dad51c GB Memory: Simplify DMA memory accesses 2017-05-22 22:19:46 -07:00
Vicki Pfau fcc8b5c805 Debugger: Add segment breakpoints 2017-05-22 22:19:46 -07:00
Vicki Pfau b5c350bc5b GB Video: Improved video timings (again) 2017-05-19 16:06:50 -07:00
Vicki Pfau 53bcea6373 GB: Fix STAT blocking 2017-05-19 16:06:49 -07:00
Vicki Pfau 8358586cc6 GB Video: Fix resetting proxy backend unnecessarily 2017-04-29 01:39:46 -07:00
Vicki Pfau 91491e704e GB, GBA Core: Ensure the core is halted even if a state is not loaded 2017-04-29 01:39:46 -07:00
Vicki Pfau aec8b82756 GB, GBA Core: Reset audio when loading mVL states so audio sync works 2017-04-29 01:39:46 -07:00
Vicki Pfau 25beafcc11 GB, GBA Core: Only deserialize needed parts of savestates for mVL 2017-04-29 01:39:46 -07:00
Vicki Pfau deffdc79a0 Core: New mVL file format 2017-04-29 01:39:46 -07:00
Vicki Pfau 3021996a49 All: Cleanup and buildfixing 2017-04-29 01:39:45 -07:00
Vicki Pfau 716a245397 GB, GBA Video: Fix integer overflow 2017-04-29 01:39:45 -07:00
Vicki Pfau 8d6edf9033 GB Video: mVL bounds checking 2017-04-29 01:39:45 -07:00
Vicki Pfau 9b0a5e566e GB Video: Fix proxy renderer for GBC 2017-04-29 01:39:12 -07:00
Vicki Pfau 3dbd49a307 GB, GBA Video: Put back missing finishFrame callback 2017-04-29 01:39:12 -07:00
Vicki Pfau d4deaf6292 GB: Video tester 2017-04-29 01:39:12 -07:00
Vicki Pfau db4a873d9c GB: Rearrange some scheduling for better callback ability 2017-04-29 01:39:11 -07:00
Vicki Pfau 3a8c5c4bf1 GB: Video/audio channel enabling/disabling 2017-04-21 17:30:30 -07:00
Vicki Pfau b486223532 GB, GBA: Make ensure clock end frame is always the same 2017-04-15 21:25:07 -07:00
Vicki Pfau 58c9bcf67a Core: Ability to enumerate and modify video and audio channels 2017-04-12 13:28:21 -07:00
Vicki Pfau e063e05662 Core: Unify peripheral attachment 2017-04-09 19:46:52 -07:00
Vicki Pfau ba65740b15 GB: Allow setting DMG palette 2017-04-03 14:32:21 -07:00
Vicki Pfau f73fd7f3da GB: Fix flickering when screen is strobed quickly 2017-04-03 14:31:50 -07:00
Vicki Pfau 5d13a00cf7 GB Video: Fix frame end callbacks not getting called while screen is off 2017-04-02 00:37:33 -07:00
Vicki Pfau cca3a94617 GB Core: Fix uninitialized variable 2017-03-22 15:47:33 -07:00
Vicki Pfau 91c0f95e5f Core: Only attempt to open BIOS if the path is non-null 2017-03-20 17:37:20 -07:00
Vicki Pfau 40ff1ea0c4 GB Serialize: Fix clearing timing when loading state 2017-03-05 17:54:36 -08:00
Vicki Pfau 000f232c58 Core: Begin log revamp 2017-03-05 15:58:00 -08:00
Vicki Pfau ba3b068df4 Core: Savestates now contain any RTC override data 2017-02-17 18:19:17 -08:00
Vicki Pfau 36553b89d0 GB Audio: Fix audio frame timer deserialization 2017-02-13 02:21:26 -08:00
Vicki Pfau 903ea6bc19 GBA, GB: Fix FrameStarted callback 2017-02-09 22:32:56 -08:00
Vicki Pfau 3ac0b20ff8 Core: Cores can now have multiple sets of callbacks 2017-02-08 11:34:27 -08:00
Vicki Pfau d2016e382a GB, GBA: Improve savestate loading in new timing system 2017-02-04 18:34:54 -08:00
Vicki Pfau 28a3ac50a6 GBA, GB: ROM is now unloaded if a patch is applied 2017-02-01 13:59:43 -08:00
Vicki Pfau 7ed4f38bdd Qt: Revamp BIOS handling 2017-01-23 10:11:13 -08:00
Vicki Pfau a56fd6016d All: Move time.h include to common.h 2017-01-18 15:22:41 -08:00
Vicki Pfau 22a36e0af9 Core: Add generic checksum function 2017-01-17 18:29:58 -08:00
Jeffrey Pfau dc96bdda85 GB Audio: Start implementing "zombie" audio (fixes #389) 2017-01-11 03:32:01 -08:00
Jeffrey Pfau 62718fce45 GB Video: Fix mode end events when turning off LCD 2017-01-11 01:46:49 -08:00
Jeffrey Pfau 0b6bc9ae82 GB MBC: Fix ROM bank overflows getting set to bank 0 2017-01-11 01:35:53 -08:00
Jeffrey Pfau ae12068d2f LR35902: Fix pc overflowing current region off-by-one 2017-01-11 01:35:06 -08:00
Jeffrey Pfau fa884d071e All: Migrate includes to separate directory 2016-12-30 21:25:07 -08:00
Jeffrey Pfau 6d898542c7 Merge branch 'feature/python-bindings' 2016-12-29 01:23:31 -08:00
Jeffrey Pfau 2f1cb61d01 All: Add C++ header guards 2016-12-26 21:01:55 -08:00
Jeffrey Pfau daaa2fa523 GB SIO: Support faster transfer speeds 2016-12-26 17:20:51 -08:00
Jeffrey Pfau c662b59e99 GB: Allow player 2 to act as shift clock 2016-12-26 17:13:53 -08:00
Jeffrey Pfau 269b18d8aa GB SIO: Some fixes 2016-12-26 16:46:51 -08:00
Jeffrey Pfau ceea51b55e GB: First pass at lockstep multiplayer 2016-12-25 20:39:11 -08:00
Jeffrey Pfau bd7b394e49 All: Unfortunate evils committed in the name of pycparser 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 49c8ad1b02 All: Remove out-of-date function declarations 2016-12-25 14:55:02 -08:00
Jeffrey Pfau b515214fbe GB Audio: Reoptimize channel 4 2016-12-25 10:56:49 -08:00
Jeffrey Pfau 0bf0975a5d GB: Restore savestates 2016-12-25 10:56:49 -08:00
Jeffrey Pfau 9aa6d8fe3c GBA: Restore savestates 2016-12-25 10:56:49 -08:00
Jeffrey Pfau ad85acab75 Core: Implement deterministic event ordering 2016-12-25 10:56:49 -08:00
Jeffrey Pfau 86571c8496 GB: Convert EI to mTiming 2016-12-25 10:56:48 -08:00
Jeffrey Pfau e429d726dc GB Memory: Fix HDMAs 2016-12-25 10:56:48 -08:00
Jeffrey Pfau ed3a3b2fab Core: A few micro-optimizations 2016-12-25 10:56:48 -08:00
Jeffrey Pfau bb1c47c7e8 GB Audio: Convert audio to mTiming 2016-12-25 10:56:47 -08:00
Jeffrey Pfau 74bb02065d GB, GBA: Properly handle late cycles this time 2016-12-25 10:56:47 -08:00
Jeffrey Pfau 4680a767c6 Core: Manage next event internally to mTiming 2016-12-25 10:56:47 -08:00
Jeffrey Pfau a506f6cd9d GBA: Convert timers to mTiming 2016-12-25 10:56:47 -08:00
Jeffrey Pfau e423cd45e5 Core: Scheduling should be relative to current cycles 2016-12-25 10:56:47 -08:00
Jeffrey Pfau bf9be29ad5 GB Video: Convert to mTiming 2016-12-25 10:56:47 -08:00
Jeffrey Pfau 6243b7fd3b GB: Convert SIO events to mTiming 2016-12-25 10:07:54 -08:00
Jeffrey Pfau e2357f0b70 GB: Convert memory events to mTiming 2016-12-25 10:07:54 -08:00
Jeffrey Pfau d831de205f Core, GB: Start new timing interface 2016-12-25 10:07:54 -08:00
Jeffrey Pfau c662d779a6 GB Audio: Fix performance regression 2016-12-25 10:03:28 -08:00
Jeffrey Pfau 85285a68e5 GB Memory: Reset ROM bank when loading a ROM 2016-12-24 21:22:29 -08:00
Jeffrey Pfau e32c0673da GB Audio: Reset envelope timer when reseting sound channel (fixes #287) 2016-12-24 03:41:39 -08:00
Jeffrey Pfau eaec17488e GB Video: Hblank IRQs should mask LYC=LY IRQs (fixes #466) 2016-12-23 17:13:10 -08:00
Jeffrey Pfau 2bd8dd2fa2 GB Memory: Fix HDMA5 value after DMA completes 2016-12-23 16:40:50 -08:00
Jeffrey Pfau 55505f79a9 GB Video: Initialize LCDC in renderer 2016-12-22 18:55:46 -08:00
Jeffrey Pfau 974c41e8cf GB Audio: Initialize wave RAM to GBC values 2016-12-22 15:38:34 -08:00
Jeffrey Pfau 8ac6f83bc5 GB Audio: Refactor and improve audio emulation 2016-12-22 14:33:50 -08:00
Jeffrey Pfau 053598fa7f GB Audio: Simplify envelope code 2016-12-21 18:44:08 -08:00
Jeffrey Pfau b5c62da070 GB: Properly initialize sramRealVf variable 2016-12-20 18:05:32 -08:00
Jeffrey Pfau d7d48e605b GB Audio: Fix serialization of channel 3 and NR52 properties 2016-12-19 18:56:24 -08:00
Jeffrey Pfau bf2aa98338 GB: Fix crash when masking savedata 2016-12-19 18:48:05 -08:00
Jeffrey Pfau d68a21fc26 GB Memory: Fix starting HDMAs during mode 0 2016-11-03 13:26:33 -07:00
Jeffrey Pfau e66061ed9e GB: Fix audio not being deinitialized 2016-10-28 17:48:29 -07:00
Jeffrey Pfau 5b80b8e4c7 Debugger: Make building with debugging aspects optional 2016-10-26 23:28:25 -07:00
Jeffrey Pfau a0d223eef7 Debugger: Modularize CLI debugger 2016-10-25 21:12:35 -07:00
Jeffrey Pfau 474f1c6e9c GB Memory: Fix patching bank 0 2016-10-24 11:49:06 -07:00
Jeffrey Pfau c1c27b46fe GB Test: Some basic memory patching tests 2016-10-24 11:47:28 -07:00
Jeffrey Pfau 0c665cf5a3 GB Test: Add RTC tests 2016-10-22 17:32:49 -07:00
Jeffrey Pfau bdfb1b72be GB Test: MBC detection tests 2016-10-22 15:57:04 -07:00
Jeffrey Pfau 8561c80a1c GB MBC: Fix initializing MBC when no ROM is loaded 2016-10-21 19:14:09 -07:00
Jeffrey Pfau d9764e8cea GB, GBA: Prevent loading null ROMs 2016-10-21 19:09:16 -07:00
Jeffrey Pfau a30599e239 Test: More basic tests 2016-10-21 18:54:44 -07:00
Jeffrey Pfau 6c470e3e5c GBA Video, GB Video: Colors are now fully scaled 2016-10-21 13:53:33 -07:00
Jeffrey Pfau 8d89fb78ba Core: Add callbacks 2016-10-21 01:59:48 -07:00
Jeffrey Pfau d462b4dd7f Core: Generic tile cache, usable with Game Boy core 2016-10-17 16:29:09 -07:00
Jeffrey Pfau 900700aa41 GB MBC: Fix SRAM dangling pointer with RTC games 2016-10-13 00:17:30 -07:00
Jeffrey Pfau 5ff3e339fe GB Timer: Improve DIV reset behavior 2016-10-08 09:57:15 -07:00
Jeffrey Pfau 74d140ed8b GB: Reset active region when reloading ROM 2016-10-05 00:02:22 -07:00
Jeffrey Pfau bf06f1e443 GB: Properly unload save files when unloading a ROM 2016-10-05 00:02:04 -07:00
Jeffrey Pfau 3a0b8af70a GB: Properly clear KEY1 bit 0 when switching speeds 2016-09-27 03:54:19 -07:00
Jeffrey Pfau 06ee3340f9 GB Video: Fix up timings even more 2016-09-27 03:54:19 -07:00
Jeffrey Pfau 4cb59a5485 GB: Prevent audio from playing on boot 2016-09-25 23:44:46 -07:00
Jeffrey Pfau c706e73c51 GB MBC: Fix RTC access when no save file is loaded 2016-09-25 23:43:05 -07:00
Jeffrey Pfau 71473721a8 GB: Initialize audio properly 2016-09-25 23:29:29 -07:00
Jeffrey Pfau 3cfdad192c GB Video: Improved video timings 2016-09-25 19:18:46 -07:00
Jeffrey Pfau 6f9a0d9758 GB, GBA: Fix emulator hardlocking when halting with IRQs off 2016-09-25 16:48:41 -07:00
Jeffrey Pfau e7c3b02897 GB: Fix invalid STOP behavior on Game Boy Color 2016-09-25 16:22:09 -07:00
Jeffrey Pfau 79274de539 Core: Fix importing save games as read-only 2016-09-25 13:39:52 -07:00
Jeffrey Pfau 3ceadd4ccd GB Memory: Initialize RAM pattern for GBC 2016-09-22 06:49:32 -07:00
Jeffrey Pfau 05edd2fe52 GB SIO: Don't auto-clock external shift clock 2016-09-22 00:34:56 -07:00
Jeffrey Pfau 1f0f943526 GB Video: Clear screen when LCDC is off 2016-09-21 14:36:42 -07:00
Jeffrey Pfau b309e9894c GB Video: Fix video frames getting missed when LCDC is off 2016-09-21 14:36:42 -07:00
Jeffrey Pfau 5a24012e8a Core: Const correctness fixes 2016-09-20 16:34:59 -07:00
Jeffrey Pfau 1cb054ec67 GB Video: Setting LYC=LY during mode 2 should trigger an IRQ 2016-09-20 10:45:01 -07:00
Jeffrey Pfau 575a37fd83 GB MBC: Fix MBC7 when size is incorrectly specified 2016-09-19 23:54:50 -07:00
Jeffrey Pfau 4647473b74 GB Memory: Fix bounds checking for View/Patch 2016-09-19 09:26:22 -07:00
Jeffrey Pfau 891a607507 GB, GBA: Unload cheats when unloading ROM 2016-09-19 07:26:06 -07:00
Jeffrey Pfau 836051ee32 GB, GBA: Clean up ROM unloading 2016-09-19 07:17:49 -07:00
Jeffrey Pfau d22a120918 GB: Fix MBC/memory includes 2016-09-18 13:34:43 -07:00
Jeffrey Pfau e2807b3915 Core: Revise how savegame loading works 2016-09-18 00:09:15 -07:00
Jeffrey Pfau d746a33338 GB: Add another BIOS revision 2016-09-17 16:47:37 -07:00
Jeffrey Pfau d1e2f2be6b GB Audio: Fix channel 4 sampling 2016-09-17 12:36:24 -07:00
Jeffrey Pfau ebecb18395 GB MBC: Fix initializing MBC3 2016-09-17 12:21:05 -07:00
Jeffrey Pfau 0298f25ea4 GB Cheats: Fix null pointer deref 2016-09-17 11:03:40 -07:00
Jeffrey Pfau b8f26ebee8 GB: Fix gcc build 2016-09-17 10:57:54 -07:00
Jeffrey Pfau f658bc00d9 GB: Clean up BIOS detection 2016-09-17 10:37:05 -07:00
Jeffrey Pfau 5425cff3e2 Core: Add functions for pakcing and unpacking pixels 2016-09-17 04:13:07 -07:00