Jeffrey Pfau
|
f55d085162
|
Change log handler API
|
2014-07-22 22:34:08 -07:00 |
Jeffrey Pfau
|
2ce9806de5
|
Fix ability to make audio buffers as big as they initially were
|
2014-07-22 02:33:45 -07:00 |
Jeffrey Pfau
|
d1eda4250d
|
Thread pausing refining
|
2014-07-22 01:52:16 -07:00 |
Jeffrey Pfau
|
6e727db553
|
Set buffer size to 512 samples in the SDL/GL port
|
2014-07-21 00:29:38 -07:00 |
Jeffrey Pfau
|
e527220398
|
Ability to resize internal sound buffers
|
2014-07-21 00:14:48 -07:00 |
Jeffrey Pfau
|
eabac4c413
|
Variable FPS target
|
2014-07-20 23:45:30 -07:00 |
Jeffrey Pfau
|
b14f22191c
|
Function for calculating audio rate for target FPS
|
2014-07-20 23:24:02 -07:00 |
Jeffrey Pfau
|
e77238e5ef
|
Fix typos in savestate format documentation
|
2014-07-20 15:53:37 -07:00 |
Jeffrey Pfau
|
3915158c96
|
Update GPIO for serialization
|
2014-07-20 15:53:15 -07:00 |
Jeffrey Pfau
|
7a0f86ae99
|
Serialize ROM CRC32 for error checking
|
2014-07-20 15:10:59 -07:00 |
Jeffrey Pfau
|
b4d6d11d19
|
Add ability to resume recording as soon as a movie ends
|
2014-07-20 03:14:55 -07:00 |
Jeffrey Pfau
|
74dae5033b
|
Rewrite rr to be streaming-only
|
2014-07-20 02:50:43 -07:00 |
Jeffrey Pfau
|
a95e2c06b7
|
Remove unused function
|
2014-07-20 01:40:05 -07:00 |
Jeffrey Pfau
|
16cf389986
|
Make writing to RO mapped memory perform COW
|
2014-07-20 01:36:18 -07:00 |
Jeffrey Pfau
|
7d4f1fb661
|
Fix loading too many states from a file
|
2014-07-19 17:54:29 -07:00 |
Jeffrey Pfau
|
7172e6428c
|
Create concept of state directory
|
2014-07-19 17:48:37 -07:00 |
Jeffrey Pfau
|
e8a78c9547
|
Very basic movie saving/loading
|
2014-07-19 17:38:25 -07:00 |
Jeffrey Pfau
|
c6cd179101
|
Fix scanline rendering when parameters change mid-scanline
|
2014-07-19 15:59:27 -07:00 |
Jeffrey Pfau
|
3202811e41
|
Be more rigorous when reseting
|
2014-07-19 14:34:24 -07:00 |
Jeffrey Pfau
|
6456a88669
|
Reset memory when reseting the board (fixes #94)
|
2014-07-19 04:13:25 -07:00 |
Jeffrey Pfau
|
14636f5b8a
|
Beginning of rerecording code, ability to record/replay from a savegame
|
2014-07-19 00:09:18 -07:00 |
Jeffrey Pfau
|
c50bd95258
|
Fix naming of savegames from files with no .
|
2014-07-18 00:53:08 -07:00 |
Jeffrey Pfau
|
5a0247ac78
|
Place save files in directories when loading in dirmode
|
2014-07-18 00:52:53 -07:00 |
Jeffrey Pfau
|
a14ce5c815
|
Add some missing cleanup
|
2014-07-18 00:52:22 -07:00 |
Jeffrey Pfau
|
2367abe67d
|
Don't crash if no ROM is loaded
|
2014-07-17 02:55:13 -07:00 |
Jeffrey Pfau
|
d2272ba9ba
|
Support reading from ZIPs
|
2014-07-17 02:45:17 -07:00 |
Jeffrey Pfau
|
ee5c918ff2
|
Directory mode for loading the first ROM in a directory, still a bit buggy
|
2014-07-17 00:53:17 -07:00 |
Jeffrey Pfau
|
73425e80b5
|
Move VFile to vfs.h and add VDirs
|
2014-07-17 00:52:21 -07:00 |
Jeffrey Pfau
|
80c61379a0
|
Clean up GBAThread variables
|
2014-07-16 23:53:11 -07:00 |
Jeffrey Pfau
|
e53135a7b9
|
Clean up command line args
|
2014-07-16 23:47:47 -07:00 |
Jeffrey Pfau
|
42484bbcc3
|
Allow save file to be specified externally
|
2014-07-16 02:57:04 -07:00 |
Jeffrey Pfau
|
0584c19229
|
Remove declaration for unimplemented function
|
2014-07-16 02:09:19 -07:00 |
Jeffrey Pfau
|
f1f55cea47
|
Use VFiles for all file operations
|
2014-07-16 02:08:54 -07:00 |
Jeffrey Pfau
|
377d8e60a7
|
VFiles for abstract file operations, used at first in patches
|
2014-07-16 01:31:10 -07:00 |
Jeffrey Pfau
|
d8654f3b88
|
Use stdbool for readability
|
2014-07-16 01:02:34 -07:00 |
Jeffrey Pfau
|
fce2fb9252
|
Move flags and masks into defines to avoid making enums with values that are too large
|
2014-07-15 23:38:44 -07:00 |
Jeffrey Pfau
|
6716b13621
|
Ability to reset emulator while running
|
2014-07-15 00:01:35 -07:00 |
Jeffrey Pfau
|
939c349533
|
Slightly more accurate waitstate emulation
|
2014-07-13 22:21:37 -07:00 |
Jeffrey Pfau
|
6c1476403e
|
Reorder log levels so more important ones have lower numbers
|
2014-07-10 01:12:25 -07:00 |
Jeffrey Pfau
|
b810e38bd7
|
Fix a compiler warning in SIO code
|
2014-07-10 01:05:28 -07:00 |
Jeffrey Pfau
|
d56dec79e7
|
Fix function prototype for GBAThreadInterrupt
|
2014-07-10 01:03:02 -07:00 |
Jeffrey Pfau
|
c2fc2dbac3
|
Remove unused variable
|
2014-07-10 01:02:13 -07:00 |
Jeffrey Pfau
|
55977796f3
|
Move UNUSED macro to common.h
|
2014-07-10 01:00:38 -07:00 |
Jeffrey Pfau
|
642cbf3429
|
Hopefully fix edge cases for windows for real this time (fixes #88)
|
2014-07-09 23:09:28 -07:00 |
Jeffrey Pfau
|
b762ce41a0
|
Only take slow mosaic path when mosiac is actually in play
|
2014-07-09 23:01:03 -07:00 |
Jeffrey Pfau
|
e6863a6cc5
|
Fix mosaic drawing of 256-color mirrored background tiles
|
2014-07-09 22:49:05 -07:00 |
Jeffrey Pfau
|
c3136b914e
|
Fix sampling order of sound channel 3
|
2014-07-09 03:53:23 -07:00 |
Jeffrey Pfau
|
3e827c24a8
|
Fix 8-bit IO writes on SOUND3CNT_X
|
2014-07-09 03:53:23 -07:00 |
Jeffrey Pfau
|
78bd884a05
|
Fix setting window sizes to 0xFFFF from actually making a window
|
2014-07-09 03:53:23 -07:00 |
Jeffrey Pfau
|
f1b4e7039f
|
Fix sprites whose tiles go out of bounds
|
2014-07-09 01:32:02 -07:00 |
Jeffrey Pfau
|
79cfc4fd0a
|
Make GBAThreadInterrupt work properly with paused threads again
|
2014-07-09 00:36:04 -07:00 |
Jeffrey Pfau
|
548793e551
|
Remove audio processing loop now that there is an event processing loop
|
2014-07-08 22:00:53 -07:00 |
Jeffrey Pfau
|
83e16d56c0
|
Fix a case where deserializing the FIFO may not restore up to three bytes
|
2014-07-08 21:56:03 -07:00 |
Jeffrey Pfau
|
a62a932282
|
Ensure interrupting the GBA thread actually gets to a safe point to read from the thread
|
2014-07-08 00:04:38 -07:00 |
Jeffrey Pfau
|
8c9790bb3b
|
Add audio FIFOs to savestates
|
2014-07-08 00:02:39 -07:00 |
Jeffrey Pfau
|
6bf0e704d2
|
Allow for savestates to be loaded between BIOS versions so long as they aren't in BIOS code
|
2014-07-07 22:59:24 -07:00 |
Jeffrey Pfau
|
a450b0470a
|
UPS patch loading support
|
2014-07-07 01:54:40 -07:00 |
Jeffrey Pfau
|
f420232bbf
|
IPS patch loading support
|
2014-07-06 23:39:27 -07:00 |
Jeffrey Pfau
|
ced5220975
|
Out of bounds start coordinates are treated as 0 for windows (fixes #82)
|
2014-07-05 14:40:15 -07:00 |
Jeffrey Pfau
|
7142a0f820
|
Fix WININ priority trampling over the active windows (fixes #75)
|
2014-07-05 14:34:10 -07:00 |
Jeffrey Pfau
|
ae12dd907c
|
Reduce the code size of division by zero a bit
|
2014-07-05 13:55:36 -07:00 |
Jeffrey Pfau
|
2fd9ab1197
|
Emulate division by zero edge cases (fixes #80)
|
2014-07-05 05:19:58 -07:00 |
Jeffrey Pfau
|
26c33b18e1
|
Properly do bounds checking in CpuSet and CpuFastSet (fixes #81)
|
2014-07-05 03:52:07 -07:00 |
Jeffrey Pfau
|
34145543f2
|
Remove redundant checks that are in the BIOS code already
|
2014-07-05 01:03:04 -07:00 |
Jeffrey Pfau
|
dea143829a
|
Prevent lr from being trampled in the middle of long-running CpuSet
|
2014-07-05 01:01:29 -07:00 |
Jeffrey Pfau
|
678c5465ff
|
Add (currently undocumented) command line flag for setting logging level
|
2014-07-04 18:43:07 -07:00 |
Jeffrey Pfau
|
80d1764e6c
|
Save some registers we were overwriting in IntrWait
|
2014-07-04 18:41:13 -07:00 |
Jeffrey Pfau
|
d6a28c8a6e
|
Log SWIs in debug
|
2014-07-04 18:17:34 -07:00 |
Jeffrey Pfau
|
599537a41b
|
Fix and optimize CpuSet and CpuFastSet a bit
|
2014-07-04 17:48:38 -07:00 |
Jeffrey Pfau
|
fde6515a56
|
Implement CpuSet/CpuFastSet in assembly (fixes #31 and #76)
|
2014-07-03 03:51:53 -07:00 |
Jeffrey Pfau
|
e5245b6cbb
|
Reset timers when enabling them (fixes #78)
|
2014-07-02 00:48:20 -07:00 |
Jeffrey Pfau
|
2693f9d09b
|
Implement high VRAM mirroring for writes
|
2014-07-01 00:26:57 -07:00 |
Jeffrey Pfau
|
a7eced1324
|
Fix stub debugger entering
|
2014-04-26 18:25:45 -07:00 |
Jeffrey Pfau
|
89ccb41b03
|
Start moving command line parsing into a separate file
|
2014-04-20 04:06:44 -07:00 |
Jeffrey Pfau
|
9bf77f6653
|
Call ARMDeinit
|
2014-04-20 00:52:37 -07:00 |
Jeffrey Pfau
|
0f68dbc832
|
Redo component model/type punning
|
2014-04-20 00:19:55 -07:00 |
Jeffrey Pfau
|
c0eb7c81f7
|
Remove ARMMemory and ARMBoard shims
|
2014-04-19 18:14:17 -07:00 |
Jeffrey Pfau
|
775e417cc6
|
Move halting functionality out of GBAHalt
|
2014-04-16 23:05:44 -07:00 |
Jeffrey Pfau
|
ecb1939ff1
|
Move common headers to common.h, remove util and debugger from being first class include directories
|
2014-04-02 23:51:35 -07:00 |
Jeffrey Pfau
|
73d32e7cc7
|
Initialize some SIO variables properly
|
2014-04-02 23:16:37 -07:00 |
Jeffrey Pfau
|
4c1014685f
|
Fix some valgrind errors
|
2014-03-29 22:58:58 -07:00 |
Jeffrey Pfau
|
2cd4bb3cff
|
Initialize memory->eventDiff; fixes a valgrind warning
|
2014-03-29 22:58:58 -07:00 |
Jeffrey Pfau
|
8f241e2cfb
|
Partially implement SOUNDBIAS
|
2014-03-29 22:53:56 -07:00 |
Jeffrey Pfau
|
683e90fa06
|
Remove special treatment for DISPSTAT
|
2014-03-29 22:53:52 -07:00 |
Jeffrey Pfau
|
4d8a00c180
|
Add thread-interrupt functions for having multiple threads that want to pause the GBA thread
|
2014-02-10 23:59:07 -08:00 |
Jeffrey Pfau
|
eb5580f719
|
Make DriverSet setting read in normal driver
|
2014-02-10 01:42:44 -08:00 |
Jeffrey Pfau
|
6451aeaefc
|
Support normal mode drivers
|
2014-02-10 01:42:44 -08:00 |
Jeffrey Pfau
|
764b3fce10
|
Fix SIO loading of a driver that is for the current mode
|
2014-02-10 01:42:44 -08:00 |
Jeffrey Pfau
|
9c8e5fc222
|
SIO registers can now be read and written properly
|
2014-02-10 01:42:40 -08:00 |
Jeffrey Pfau
|
3422527d5a
|
Read SIO registers from sio field
|
2014-02-10 01:41:20 -08:00 |
Jeffrey Pfau
|
a2a3f317b5
|
Make driver loading signal failure, and fix case where setting a driver can cause a null pointer deref
|
2014-02-05 01:50:01 -08:00 |
Jeffrey Pfau
|
924c6cf5a6
|
Clarify some function names and add more essenital SIO architecture
|
2014-02-05 01:03:34 -08:00 |
Jeffrey Pfau
|
e5ee1aa07f
|
Fill out SIO driver infrastructure
|
2014-02-04 01:28:16 -08:00 |
Jeffrey Pfau
|
70e1661342
|
Begin SIO
|
2014-02-04 00:39:55 -08:00 |
Jeffrey Pfau
|
23e0737649
|
Add missing GBA_KEY_NONE
|
2014-02-03 22:56:24 -08:00 |
Jeffrey Pfau
|
5a17030c65
|
Automatically break into the debugger if it was provided at launch time
|
2014-02-03 03:48:39 -08:00 |
Jeffrey Pfau
|
285b94b66a
|
Add thread-safe function for telling if the GBA thread has started
|
2014-02-03 03:48:39 -08:00 |
Jeffrey Pfau
|
0f6523941c
|
Null out threadContext->gba when shutting down
|
2014-02-03 03:48:39 -08:00 |
Jeffrey Pfau
|
56c51181e1
|
Debugger can get detached during a callback, clean up appropriately
|
2014-02-02 03:59:03 -08:00 |
Jeffrey Pfau
|
0c332d972b
|
Add ability to detach debugger
|
2014-02-01 20:49:12 -08:00 |
Jeffrey Pfau
|
cc53b06cae
|
Implement OBJWIN for OBJs
|
2014-02-01 16:58:55 -08:00 |
Jeffrey Pfau
|
69d188668d
|
Fix debugging shim to work even if there is no GBA struct at the moment
|
2014-02-01 16:27:27 -08:00 |
Jeffrey Pfau
|
b9f8955890
|
Add debugging logging interface
|
2014-02-01 16:26:48 -08:00 |
Jeffrey Pfau
|
6616ca9111
|
Always enable the debugger framework
|
2014-02-01 01:14:41 -08:00 |
Jeffrey Pfau
|
5bbf7f2308
|
Separate out CLI debugger from debugging interface
|
2014-02-01 00:47:36 -08:00 |
Jeffrey Pfau
|
6822a0d770
|
Start separating out debugger logic
|
2014-02-01 00:27:53 -08:00 |
Jeffrey Pfau
|
6ad2b673b1
|
Omit sprites that are off-screen vertically from OAM calculations
|
2014-01-31 22:40:21 -08:00 |
Jeffrey Pfau
|
4255d10f08
|
Squelch compiler warning about type punning
|
2014-01-31 02:29:27 -08:00 |
Jeffrey Pfau
|
d6a4fbd25a
|
Squelch a compiler warning about an uninitialized variable
|
2014-01-31 02:27:17 -08:00 |
Jeffrey Pfau
|
f8449482de
|
Squelch warnings in software renderer
|
2014-01-31 02:17:41 -08:00 |
Jeffrey Pfau
|
2122ff1f43
|
Change override structure to not use multi-byte char literals
|
2014-01-31 02:17:41 -08:00 |
Jeffrey Pfau
|
95cf2909c1
|
Unblock on audio when closing thread
|
2014-01-30 04:05:53 -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
|
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
|
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
|
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
|
709269ee5c
|
Fix initial DMA count
|
2014-01-23 20:59:15 -08:00 |
Jeffrey Pfau
|
1e0f400091
|
Precompute some parameters in mode 0
|
2014-01-22 01:39:48 -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
|
f08e466fce
|
Partially unroll video clearing loop
|
2014-01-21 22:37:08 -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
|
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
|
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 |
Jeffrey Pfau
|
9f28b1ec73
|
Add missing version magic
|
2014-01-20 03:05:31 -08:00 |
Jeffrey Pfau
|
a5d8be30d8
|
Don't block any signals on the run thread
|
2014-01-20 02:33:40 -08:00 |
Jeffrey Pfau
|
1f8c1bcdfa
|
Fix signal handling for debugger
|
2014-01-19 23:42:34 -08:00 |
Jeffrey Pfau
|
4e98546cd6
|
Add missing header guard
|
2014-01-19 03:38:18 -08:00 |
Jeffrey Pfau
|
daf12994db
|
Start savestates
|
2014-01-19 01:59:35 -08:00 |
Jeffrey Pfau
|
fbf8edf19b
|
Create savestate format
|
2014-01-19 00:32:49 -08:00 |