Commit graph

6266 commits

Author SHA1 Message Date
Jeffrey Pfau
8a82144ceb Ensure the GBA thread exits when destroying the game controller 2014-01-29 23:14:23 -08:00
Jeffrey Pfau
4659635fb5 Start Qt frontend 2014-01-29 23:14:23 -08:00
Jeffrey Pfau
f0481d9413 Enable piping through BIOS 2014-01-29 23:13:44 -08:00
Jeffrey Pfau
79d4011650 Initialize OAM 2014-01-29 23:02:12 -08:00
Jeffrey Pfau
13d3146d0b Add LOG_FATAL 2014-01-29 22:49:34 -08:00
Jeffrey Pfau
70afe23fe4 Add log handling 2014-01-29 22:49:24 -08:00
Jeffrey Pfau
9d351d4a58 SDL audio should use now centralized audio functions 2014-01-29 22:49:09 -08:00
Jeffrey Pfau
5fde0d8c35 GBAAudioResampleNN returns how many (destination) samples were read 2014-01-29 22:49:09 -08:00
Jeffrey Pfau
a79a592c1e Move audio resampling out of SDL code 2014-01-29 22:48:38 -08:00
Jeffrey Pfau
2e2ca19220 Add GBAThreadEnd function for manually shutting down the GBA thread 2014-01-29 22:48:38 -08:00
Jeffrey Pfau
c8b04a2ca5 Ensure rewind buffer is null if we are not enabling rewinding 2014-01-29 22:48:38 -08:00
Jeffrey Pfau
48a3522fbc Move inline struct definitions out of place for C++ compatibility 2014-01-29 22:48:19 -08:00
Jeffrey Pfau
a72c77a3df Update DMA timings, and higher priority DMAs always take precedence, regardless of timing 2014-01-28 21:56:14 -08:00
Jeffrey Pfau
d5bd521313 Break out shared library 2014-01-28 01:40:32 -08:00
Jeffrey Pfau
8e5b806cdd Have board re-read CPSR when it is modified by MSR 2014-01-27 00:21:14 -08:00
Jeffrey Pfau
ef66e4a8c7 Only unpause from state operations when we paused manually 2014-01-26 23:17:17 -08:00
Jeffrey Pfau
c3a5fb497a Fix rewind buffer sizing itself wrong 2014-01-26 12:47:47 -08:00
Jeffrey Pfau
705b6e9b13 Simple rewind buffer 2014-01-26 02:50:28 -08:00
Jeffrey Pfau
b1a648e46e Don't sync on audio and video at the same time--this can cause audio skipping 2014-01-25 18:08:33 -08:00
Jeffrey Pfau
9c2c93220b Implement most of audio serialization 2014-01-25 18:01:31 -08:00
Jeffrey Pfau
668c4f68b7 Fix OAM deserialization 2014-01-25 15:06:28 -08:00
Jeffrey Pfau
941c629f8b Serialize timers and DMA state 2014-01-25 15:02:55 -08:00
Jeffrey Pfau
408d39a297 Move mode 0 into macro-land so that much of the logic can be inlined 2014-01-25 14:47:21 -08:00
Jeffrey Pfau
0e379fed41 Fix audio buffer reading in SDL audio 2014-01-23 20:59:15 -08:00
Jeffrey Pfau
709269ee5c Fix initial DMA count 2014-01-23 20:59:15 -08:00
Jeffrey Pfau
b4b7be1f84 Don't require SDL for perf builds 2014-01-23 20:58:33 -08:00
Jeffrey Pfau
968dbe55db Properly sync to frame only when not in turbo 2014-01-22 03:25:09 -08:00
Jeffrey Pfau
1e0f400091 Precompute some parameters in mode 0 2014-01-22 01:39:48 -08:00
Jeffrey Pfau
7132c873e3 Make viewport size not-hardcoded 2014-01-21 23:51:52 -08:00
Jeffrey Pfau
a8921116dc Preprocess OBJ heights 2014-01-21 23:49:10 -08:00
Jeffrey Pfau
04c3b61d1c Basic OAM dirtying 2014-01-21 23:41:41 -08:00
Jeffrey Pfau
2553b96e9b Skip table lookup in ARMStep if not needed 2014-01-21 23:15:51 -08:00
Jeffrey Pfau
f08e466fce Partially unroll video clearing loop 2014-01-21 22:37:08 -08:00
Jeffrey Pfau
52808da265 Inline CPU stepping 2014-01-21 22:36:40 -08:00
Jeffrey Pfau
f8de62ba71 Null out frameCallback on perf-main 2014-01-21 22:36:40 -08:00
Jeffrey Pfau
e432c66249 Fix some uninitialized values 2014-01-21 22:36:40 -08:00
Jeffrey Pfau
86bc662d9f Support proper DMA timings and priority 2014-01-21 21:07:15 -08:00
Jeffrey Pfau
3c100a5e31 Prevent bank switching when reloading CPU state 2014-01-20 23:42:07 -08:00
Jeffrey Pfau
98c8b42b0f Slow down audio slightly to match target FPS 2014-01-20 20:02:44 -08:00
Jeffrey Pfau
dccde662c6 Minor cleanup 2014-01-20 18:01:49 -08:00
Jeffrey Pfau
728f6481d6 Abort in invalid memory instead of SEGVing 2014-01-20 17:46:17 -08:00
Jeffrey Pfau
aa99196700 Smarter I/O serialization 2014-01-20 17:42:30 -08:00
Jeffrey Pfau
872c3ceba3 Savestate game checks 2014-01-20 17:18:12 -08:00
Jeffrey Pfau
26c1fbd48f Add frame advance 2014-01-20 16:39:46 -08:00
Jeffrey Pfau
e7d4f3ae8a Fix MSR with immediate 2014-01-20 15:40:56 -08:00
Jeffrey Pfau
12f4ff6cbb Fix ARM_ROR 2014-01-20 15:40:44 -08:00
Jeffrey Pfau
2db6d27496 Implement SWP, SWPB 2014-01-20 15:19:52 -08:00
Jeffrey Pfau
fede211874 Remove checks for ARM writeback operations that fail on real hardware 2014-01-20 15:10:41 -08:00
Jeffrey Pfau
35a5e83465 Unified DISPSTAT representation 2014-01-20 14:18:24 -08:00
Jeffrey Pfau
5a1a04a353 Add basic IO and video serialization 2014-01-20 03:05:54 -08:00