Commit Graph

4080 Commits

Author SHA1 Message Date
Jeffrey Pfau 7e38db4533 DS: Begin memory timings 2017-01-03 22:03:24 -08:00
Jeffrey Pfau 5a55b53983 DS: Port over DMAs 2017-01-03 17:48:07 -08:00
Jeffrey Pfau 66db559f5b DS Memory: Fix copy-paste error 2017-01-03 15:31:09 -08:00
Jeffrey Pfau 0053f85922 DS: Start work on IPC 2017-01-03 15:30:56 -08:00
Jeffrey Pfau c037dada3e DS: Share code between cores 2017-01-03 13:58:54 -08:00
Jeffrey Pfau 2359a4e886 DS: Move time slicing to event system 2017-01-02 21:48:12 -08:00
Jeffrey Pfau d620a8c38c DS: Merge GBA and DS timers 2017-01-02 19:31:38 -08:00
Jeffrey Pfau e0ae2e8906 DS: Backport CPSR I fix 2017-01-02 18:22:02 -08:00
Jeffrey Pfau 87caf0a6ac Merge branch 'master' into medusa 2017-01-02 18:17:50 -08:00
Jeffrey Pfau 3f61f68f22 GBA: Fix multiboot ROM loading 2017-01-01 22:04:04 -08:00
Jeffrey Pfau 180418a74f ARM7: Fix MLA/*MULL/*MLAL timing 2017-01-01 14:46:58 -08:00
Jeffrey Pfau 2c52c55efc Windows: Fix VDir unitialized variable 2016-12-31 01:47:51 -08:00
Jeffrey Pfau 978349d765 Windows: Fix build 2016-12-30 23:46:07 -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 19b164d560 Libretro: Fix disabling BIOS 2016-12-28 19:16:33 -08:00
Jeffrey Pfau 2d02719fa5 Revert "GBA Video: Fix out-of-order OBJWIN"
This reverts commit f34f45257a.
2016-12-28 19:05:57 -08:00
Jeffrey Pfau d752df421f 3DS: Fix build 2016-12-27 04:12:15 -08:00
Jeffrey Pfau 20367765b8 GUI: Fix build 2016-12-27 04:03:44 -08:00
Jeffrey Pfau 9cbbd9f255 GBA I/O: Set JOYSTAT TRANS flag when writing JOY_TRANS registers 2016-12-27 03:48:41 -08:00
Jeffrey Pfau 75d9085eef GBA I/O: Clear JOYSTAT RECV flag when reading JOY_RECV registers 2016-12-27 02:11:54 -08:00
Jeffrey Pfau 463ce99739 All: Include cleanup 2016-12-26 23:27:32 -08:00
Jeffrey Pfau 03ca7515b3 GBA SIO: Add some basic JOY bus constants 2016-12-26 22:26:31 -08:00
Jeffrey Pfau f7ac90d74e Util: Add ifndef guard for UNUSED define 2016-12-26 21:02:57 -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 871ce36386 DS Memory: Implement (currently fixed-location) DTCM 2016-12-26 01:03:11 -08:00
Jeffrey Pfau ef29028109 DS: Modernize a bit 2016-12-26 00:46:12 -08:00
Jeffrey Pfau 0c5ce511fb DS: Fix build 2016-12-25 23:48:13 -08:00
Jeffrey Pfau 6049c1b340 Util: Make clz consistent 2016-12-25 23:36:47 -08:00
Jeffrey Pfau 12928954ab Read TM*CNT registers 2016-12-25 23:36:47 -08:00
Jeffrey Pfau 7dd3e99d2a DS: Write IF register 2016-12-25 23:36:47 -08:00
Jeffrey Pfau e649be94f5 DS: Add timers and start interrupts 2016-12-25 23:36:47 -08:00
Jeffrey Pfau 89936d1b94 ARM9: Implement BLX (2) 2016-12-25 23:36:47 -08:00
Jeffrey Pfau 3796c32eb4 ARM: Start implementing ARMv5 instructions 2016-12-25 23:36:47 -08:00
Jeffrey Pfau aeaa59eb88 DS Core: Spin both CPUs more reliably 2016-12-25 23:36:47 -08:00
Jeffrey Pfau 7969bac2b2 DS: Add ability to switch CPUs while debugging 2016-12-25 23:36:47 -08:00
Jeffrey Pfau 36b3f07ed1 DS I/O: Start I/O 2016-12-25 23:36:47 -08:00
Jeffrey Pfau 5d3acef7fe DS Memory: More baseline 2016-12-25 23:36:46 -08:00
Jeffrey Pfau 0088229e9f DS: Spin both CPUs 2016-12-25 23:36:46 -08:00
Jeffrey Pfau 112beb8e66 DS: Add SWI handling for ARM7 CPU 2016-12-25 23:36:46 -08:00
Jeffrey Pfau ad492cab49 DS Memory: Add ITCM 2016-12-25 23:36:46 -08:00
Jeffrey Pfau 60d49b4860 ARM: CP15 improvements 2016-12-25 23:36:46 -08:00
Jeffrey Pfau 8bfad3f7be DS Memory: Implement basic RAM access 2016-12-25 23:36:46 -08:00
Jeffrey Pfau f32e92e0f1 ARM: Implement MCR for coprocessor 15 2016-12-25 23:36:46 -08:00
Jeffrey Pfau b83f037799 DS: Add CPSR-reading skeleton, sans IRQs 2016-12-25 23:36:46 -08:00
Jeffrey Pfau 5939af0a2b ARM7: Decode MCR/MRC 2016-12-25 23:36:46 -08:00
Jeffrey Pfau 2006f27d6d DS: Basic memory support for RAM 2016-12-25 23:36:46 -08:00
Jeffrey Pfau e93154fb41 SDL: Prevent crash on cores with no audio 2016-12-25 23:36:46 -08:00
Jeffrey Pfau 3cf9446ba1 DS: A little more skeleton 2016-12-25 23:36:26 -08:00
Jeffrey Pfau 290d5b77dd ARM: Add basic CP15 information 2016-12-25 23:36:26 -08:00
Jeffrey Pfau e75cb6f7b4 DS: Start DS core 2016-12-25 23:36:26 -08:00
Jeffrey Pfau ceea51b55e GB: First pass at lockstep multiplayer 2016-12-25 20:39:11 -08:00
Jeffrey Pfau 361e8e95b4 Python: Make Python bindings depend on library 2016-12-25 15:23:53 -08:00
Jeffrey Pfau 91a503397b Core: Update flags.h 2016-12-25 15:22:40 -08:00
Jeffrey Pfau f9caf8541a SDL: Update sdl-gles2.c 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 55a9bf3ca7 All: Fix broken #ifdefs 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 74803ac15b Python: Add slicing to memory operations 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 2706cf991d Python: Make cartridge memory size cap properly 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 6f591996a8 Python: Add hook preventing functions that need resets from being called 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 3310210dc7 Python: Add NullLogger 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 3496449517 Python: Flags cleanup 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 7bd5ae9a70 Core: Add flags.h generated file 2016-12-25 15:22:40 -08:00
Jeffrey Pfau e2bcd2e05a Python: Add memory access 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 572eb40d42 Python: Add key functions 2016-12-25 15:22:40 -08:00
Jeffrey Pfau adc45c9bdc Python: Add more mCore functions 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 9d44445d64 Python: Much cleaner LR35902 access 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 471bbf1da5 Python: Sprite access in GB core 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 9a104508ac Python: Add support for 256-color sprites 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 9b915fb13d Python: Add GBA sprite accessors 2016-12-25 15:22:40 -08:00
Jeffrey Pfau a9ccb0fdd7 Python: Clean up Core interface so boards inherit Core 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 303a7685a2 Python: Reindent, fix up TileView interface 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 5e0641cb0e Python: Add some tile manipulation 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 3565868936 Python: Fix Linux build 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 1dff579ad4 Python: Add basic logging interface 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 33295b1297 Python: Python 3 support 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 0723646354 Python: Add image and PNG-write bindings 2016-12-25 15:22:40 -08:00
Jeffrey Pfau f5312fef78 Python: VFS fixes 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 511261b0ff Python: Add license headers 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 606d35ba6c Python: Add VFS bindings 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 0d1d5c988e Python: Basic setup.py 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 99a85aaf3a Debugger: Fix build 2016-12-25 15:22:40 -08:00
Jeffrey Pfau a0b794364f Python: More basic framework 2016-12-25 15:22:40 -08:00
Jeffrey Pfau d53497cb32 Python: More binding skeleton 2016-12-25 15:22:40 -08:00
Jeffrey Pfau bd7b394e49 All: Unfortunate evils committed in the name of pycparser 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 227cbea37a All: Remove duplicate functions 2016-12-25 15:22:40 -08:00
Jeffrey Pfau f72a582382 Debugger: Fix included file 2016-12-25 15:22:40 -08:00
Jeffrey Pfau e5c61e0093 Python: Preliminary, incomplete bindings 2016-12-25 15:22:40 -08:00
Jeffrey Pfau 4ac4733cfd GBA SIO: Convert GBP to mTiming 2016-12-25 15:22:22 -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 81416863a5 GBA DMA: Remove `hasStarted` flag 2016-12-25 10:56:49 -08:00
Jeffrey Pfau 1c93b75b7e GBA DMA: Move DMAs to using absolute timing 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 327c3e78c6 GBA DMA: Refactor DMA out of memory.c 2016-12-25 10:56:49 -08:00
Jeffrey Pfau a1689c80a7 GBA Memory: Fix DMA timing 2016-12-25 10:56:49 -08:00
Jeffrey Pfau 82a0088e1e GBA SIO: Convert to mTiming 2016-12-25 10:56:48 -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 84844232ec Core: Use an in-place linked list for timing instead of a vector 2016-12-25 10:56:48 -08:00
Jeffrey Pfau d08a0fef01 GBA Memory: Optimize DMA 2016-12-25 10:56:48 -08:00
Jeffrey Pfau fa3d263dd9 Core: Invert schedule queue direction to avoid excess memmove 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 2c2a7ca436 Core: Remove unnecessary pointer operation in timing 2016-12-25 10:56:48 -08:00
Jeffrey Pfau 2a0c53441a GBA Audio: Convert audio sampling to mTiming 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 5b50c43857 GBA Video: Convert video to mTiming 2016-12-25 10:56:47 -08:00
Jeffrey Pfau c056acb98f GBA Memory: Convert DMAs 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 9d54e242e3 GBA I/O: Mask off WAITCNT bits that cannot be written (fixes #457) 2016-12-23 15:41:11 -08:00
Jeffrey Pfau 6eadd35ee6 Debugger: Add functions for read- or write-only watchpoints 2016-12-23 15:40:24 -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 c83833bfd4 Qt: Fix Apply button for key and controller configurations 2016-12-20 21:20:52 -08:00
Jeffrey Pfau b5c62da070 GB: Properly initialize sramRealVf variable 2016-12-20 18:05:32 -08:00
Jeffrey Pfau 5ba2d00504 3DS, PSP2, Wii: Last directory loaded is saved 2016-12-20 01:49:19 -08:00
Jeffrey Pfau 20f8cdc3e0 Qt: Move last directory setting from qt.ini to config.ini 2016-12-20 01:35:07 -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 85367c3713 GBA: Only unhalt CPU if appropriate bit is set in IE 2016-12-11 20:39:14 -08:00
Jeffrey Pfau 3415484d9d GBA Video: Fix out of bounds sprite transforms 2016-12-11 17:55:41 -08:00
Jeffrey Pfau 4085b9cdc5 GBA: Only unhalt CPU if an IRQ actually fires 2016-12-08 20:44:29 -08:00
Jeffrey Pfau 8aeafeb762 ARM7: PSR mode bits should not get sign extended 2016-11-30 16:18:02 -08:00
Jeffrey Pfau fbb29de160 SDL: Fix GLES2 build 2016-11-22 13:46:17 -05:00
Jeffrey Pfau ea7534e801 GBA: Add savegame override for Crash Bandicoot 2 JP 2016-11-15 15:31:03 -08:00
Jeffrey Pfau 8cc5339b1e GBA: Add savegame override for Crash Bandicoot 2 2016-11-15 13:39:40 -08:00
Jeffrey Pfau 9c030fb553 3DS: Initialize ROM buffer and filesystem in lib 2016-11-11 01:53:53 -08:00
Jeffrey Pfau 8fd14f40c0 GBA BIOS: Implement BitUnPack 2016-11-07 13:51:53 -08:00
Jeffrey Pfau e5a9f8a030 Core: Dont include debugger.h when not using debuggers 2016-11-07 10:18:22 -08:00
Jeffrey Pfau e2927ebcea All: Fix fullscreen config option being ignored 2016-11-07 09:56:38 -08:00
Jeffrey Pfau c92add2a5c GBA: Fix IRQs firing after already being cleared 2016-11-06 22:22:01 -08:00
Jeffrey Pfau 60974cf61b Qt: Fix Qt Multimedia audio driver on big endian 2016-11-06 21:26:54 -08:00