Jeffrey Pfau
|
adcfc37db2
|
Add ability to detach debugger
|
2014-02-01 20:24:38 -08:00 |
Jeffrey Pfau
|
11e3bdc585
|
Merge branch 'master' into qt
Conflicts:
CMakeLists.txt
src/gba/gba.c
|
2014-02-01 17:37:18 -08:00 |
Jeffrey Pfau
|
cc53b06cae
|
Implement OBJWIN for OBJs
|
2014-02-01 16:58:55 -08:00 |
Jeffrey Pfau
|
d09004cf01
|
Fix infinite listen errors
|
2014-02-01 16:27:48 -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
|
d97976d0df
|
Add stepping and clean up
|
2014-02-01 15:50:12 -08:00 |
Jeffrey Pfau
|
325380989c
|
Clean up unnecessary operation in GDB stub
|
2014-02-01 15:39:47 -08:00 |
Jeffrey Pfau
|
9435226c58
|
Breakpoint clearing in CLI debugger
|
2014-02-01 15:39:30 -08:00 |
Jeffrey Pfau
|
c30807117f
|
Breakpoint clearing
|
2014-02-01 15:37:15 -08:00 |
Jeffrey Pfau
|
ea6b129509
|
LLDB compatibility
|
2014-02-01 15:21:17 -08:00 |
Jeffrey Pfau
|
1541e6e0b0
|
Expand packet size for lldb compat
|
2014-02-01 05:44:40 -08:00 |
Jeffrey Pfau
|
cc9575228c
|
Add support for qHostInfo command for lldb
|
2014-02-01 05:40:39 -08:00 |
Jeffrey Pfau
|
e4375fd3d9
|
Stub out [qQvV].* commands
|
2014-02-01 05:23:56 -08:00 |
Jeffrey Pfau
|
1c60ada7de
|
Add support for g, m and p GDB packets
|
2014-02-01 05:02:54 -08:00 |
Jeffrey Pfau
|
434099ac77
|
Parse GDB packet format
|
2014-02-01 04:10:22 -08:00 |
Jeffrey Pfau
|
244f197742
|
Begin GDB stub
|
2014-02-01 03:08:32 -08:00 |
Jeffrey Pfau
|
38aac38a0c
|
Remove obsolete, dead code
|
2014-02-01 01:41:25 -08:00 |
Jeffrey Pfau
|
6616ca9111
|
Always enable the debugger framework
|
2014-02-01 01:14:41 -08:00 |
Jeffrey Pfau
|
a214481b76
|
Fix typo in type
|
2014-02-01 01:02:26 -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
|
bab92ba659
|
Squelch compiler warning in perf shutdown
|
2014-01-31 02:30:56 -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
|
4eb705ca91
|
Squelch warnings in software renderer
|
2014-01-31 02:15:43 -08:00 |
Jeffrey Pfau
|
307404adf7
|
Change override structure to not use multi-byte char literals
|
2014-01-31 02:05:01 -08:00 |
Jeffrey Pfau
|
bce620e717
|
Split SDL build into its own CMake list
|
2014-01-31 00:13:33 -08:00 |
Jeffrey Pfau
|
80511fcb9f
|
Fix perf main after adding BIOS loading
|
2014-01-31 00:11:55 -08:00 |
Jeffrey Pfau
|
9022deed9e
|
Split SDL build into its own CMake list
|
2014-01-31 00:11:19 -08:00 |
Jeffrey Pfau
|
22ef0977dc
|
Fix perf main after adding BIOS loading
|
2014-01-31 00:10:56 -08:00 |
Jeffrey Pfau
|
2ee3d17d33
|
Put OpenGL include explicitly in Qt CMake file
|
2014-01-31 00:06:37 -08:00 |
Jeffrey Pfau
|
95cf2909c1
|
Unblock on audio when closing thread
|
2014-01-30 04:05:53 -08:00 |
Jeffrey Pfau
|
8e3d104625
|
Qt audio thread should mark itself as exiting
|
2014-01-30 04:05:39 -08:00 |
Jeffrey Pfau
|
e27c10ab78
|
Unblock on audio when closing thread
|
2014-01-30 04:03:54 -08:00 |
Jeffrey Pfau
|
6834401e67
|
Close process cleanly
|
2014-01-30 04:00:52 -08:00 |
Jeffrey Pfau
|
6407ad3adc
|
Video drawing in separate thread
|
2014-01-30 04:00:30 -08:00 |
Jeffrey Pfau
|
2f98f542e5
|
Add frame advance
|
2014-01-29 23:58:57 -08:00 |
Jeffrey Pfau
|
1eeeb36015
|
Add emulation menu with Pause option
|
2014-01-29 23:39:24 -08:00 |
Jeffrey Pfau
|
5abd1572dc
|
Use an initializer for GBAThread in Qt
|
2014-01-29 23:39:09 -08:00 |
Jeffrey Pfau
|
a076e88bb5
|
Ditch uic
|
2014-01-29 23:14:23 -08:00 |
Jeffrey Pfau
|
3d339b1327
|
Key input
|
2014-01-29 23:14:23 -08:00 |
Jeffrey Pfau
|
98c9121ac2
|
Move audio initialization into thread
|
2014-01-29 23:14:23 -08:00 |
Jeffrey Pfau
|
0ca3afa3e6
|
Run audio on separate thread
|
2014-01-29 23:14:23 -08:00 |
Jeffrey Pfau
|
baeaf8729f
|
Audio rendering in Qt
|
2014-01-29 23:14:23 -08:00 |
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
|
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
|
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 |
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
|
f2b031467f
|
Fix non-debugger build
|
2014-01-19 01:24:29 -08:00 |
Jeffrey Pfau
|
7b682dd7c5
|
Break into debugger with F11
|
2014-01-19 00:37:53 -08:00 |
Jeffrey Pfau
|
fbf8edf19b
|
Create savestate format
|
2014-01-19 00:32:49 -08:00 |
Jeffrey Pfau
|
a969d70de3
|
Handle illegal and stub opcodes separately
|
2014-01-18 00:39:51 -08:00 |
Jeffrey Pfau
|
ce4d0b5203
|
Checksum BIOS
|
2014-01-18 00:17:58 -08:00 |
Jeffrey Pfau
|
94cc48faf1
|
Account for floating point error in resampling
|
2014-01-16 02:12:35 -08:00 |
Jeffrey Pfau
|
4e88cc86d9
|
Have circle buffer work when memory is misaligned
|
2014-01-16 01:56:17 -08:00 |
Jeffrey Pfau
|
39025dedff
|
Ensure that video buffers are flushed to the GPU before unlocking the mutex
|
2014-01-16 01:05:32 -08:00 |
Jeffrey Pfau
|
48e89fb5eb
|
Fix buffer size in SDL audio
|
2014-01-16 00:27:15 -08:00 |
Jeffrey Pfau
|
5758964617
|
Unlock mutex before swapping buffers
|
2014-01-16 00:26:59 -08:00 |
Jeffrey Pfau
|
3837213f94
|
Support Win32 threads on Vista and higher
|
2014-01-15 23:46:47 -08:00 |
Jeffrey Pfau
|
2b558a5a65
|
Rearchitect audio copying to make it cleaner and more atomic
|
2014-01-15 03:43:56 -08:00 |
Jeffrey Pfau
|
b8167f55b1
|
Create Windows and POSIX platform directories
|
2014-01-15 01:28:30 -08:00 |
Jeffrey Pfau
|
270c1a35d7
|
Fix mappedMemoryFree on *nix
|
2014-01-15 00:34:45 -08:00 |
Jeffrey Pfau
|
dd1f1bc79e
|
Initial support for Windows
|
2014-01-15 00:32:54 -08:00 |
Jeffrey Pfau
|
003db6019c
|
Fix _mix for 16-bit color
|
2014-01-15 00:32:53 -08:00 |
Jeffrey Pfau
|
d53b1c784f
|
Mirror SRAM across 0x0F000000
|
2013-11-23 16:22:26 -08:00 |
Jeffrey Pfau
|
bc03872ab5
|
Add FireRed/LeafGreen to the override list
|
2013-11-18 00:34:54 -08:00 |
Jeffrey Pfau
|
e6eea94626
|
Revert "Move halting code out from below the ARM emulator"
This reverts commit 3b74b61862 .
|
2013-11-14 23:17:14 -08:00 |
Jeffrey Pfau
|
0bc5c4a69e
|
Fix color blending in 16-bit 5-5-5 mode
|
2013-11-14 23:09:13 -08:00 |
Jeffrey Pfau
|
55c6103116
|
Remove "finalized" flag in favor of stricter sorting
|
2013-11-14 00:33:34 -08:00 |
Jeffrey Pfau
|
a2a306bb03
|
Significantly optimize 16-bit color mixing
|
2013-11-14 00:19:18 -08:00 |
Jeffrey Pfau
|
620adbd577
|
Remove extra free in SDL code
|
2013-11-11 19:40:37 -08:00 |
Jeffrey Pfau
|
f8d5842240
|
Implement mosaic for mode 0 with 256-color tiles
|
2013-11-10 23:09:50 -08:00 |
Jeffrey Pfau
|
c2658ce7a1
|
Initialize mosaic to 0
|
2013-11-10 22:53:12 -08:00 |
Jeffrey Pfau
|
7d526e97f4
|
Support narrow windows
|
2013-11-10 22:43:57 -08:00 |
Jeffrey Pfau
|
53dd260b3e
|
Fast 32-to-16-bit memory conversion routine on ARM
|
2013-11-09 13:30:25 -08:00 |
Jeffrey Pfau
|
95b6cc9b00
|
Initialize halted
|
2013-11-09 13:29:08 -08:00 |
Jeffrey Pfau
|
f43c82e79e
|
Preprocess instead of post-process 5-6-5 color
|
2013-11-07 02:57:22 -08:00 |
Jeffrey Pfau
|
f09e44062f
|
Use gettimeofday for perf-main instead of clock_gettime
|
2013-11-06 22:20:29 -08:00 |
Jeffrey Pfau
|
2a683aaf99
|
Preselect palettes for sprites
|
2013-11-06 00:00:42 -08:00 |
Jeffrey Pfau
|
fd6e9cb311
|
Use unsigned instead of uint16_t in sprite drawing
|
2013-11-05 23:25:44 -08:00 |
Jeffrey Pfau
|
e3dac089e7
|
Small refactor of _composite
|
2013-11-05 21:57:24 -08:00 |
Jeffrey Pfau
|
818ce96d0d
|
Fix mixing colors on 16-bit
|
2013-11-05 04:13:49 -08:00 |
Jeffrey Pfau
|
9253eeba23
|
Optimize range check in mode 2 rendering
|
2013-11-05 01:49:29 -08:00 |
Jeffrey Pfau
|
53515b41cd
|
Fix warnings in CircleBuffer
|
2013-11-05 01:20:46 -08:00 |
Jeffrey Pfau
|
2c826e208c
|
Optimize palette access
|
2013-11-05 00:19:42 -08:00 |
Jeffrey Pfau
|
7d688ceb5a
|
Use unsigned instead of color_t where size is irrelevant
|
2013-11-04 21:47:44 -08:00 |
Jeffrey Pfau
|
3005c6c9fb
|
Add per-second perf updating
|
2013-11-04 21:07:41 -08:00 |
Jeffrey Pfau
|
3b74b61862
|
Move halting code out from below the ARM emulator
|
2013-11-03 23:26:10 -08:00 |
Jeffrey Pfau
|
66ee98513f
|
Pass pointers instead of offsets to composite
|
2013-11-03 01:00:56 -07:00 |
Jeffrey Pfau
|
32e0591fd0
|
Early finalization if possible
|
2013-11-02 22:36:07 -07:00 |
Jeffrey Pfau
|
53a52d8cf8
|
Call setActiveRegion with the right address
|
2013-11-02 03:56:13 -07:00 |
Jeffrey Pfau
|
e0eefa24da
|
Hack to guess when blending should be disabled
|
2013-11-01 23:50:13 -07:00 |
Jeffrey Pfau
|
a87d30ed9f
|
Fix channel 1 - 4 volume
|
2013-10-29 21:12:26 -07:00 |
Jeffrey Pfau
|
9fd181dba9
|
Fix potential issues with sound playing when they shouldn't, or with the wrong volume
|
2013-10-29 02:19:58 -07:00 |
Jeffrey Pfau
|
8902635e3a
|
Fix bugs in OBJ mosaic
|
2013-10-27 21:58:37 -07:00 |
Jeffrey Pfau
|
09888a8852
|
Add performance-monitoring main thread
|
2013-10-27 05:16:07 -07:00 |
Jeffrey Pfau
|
f5a3fd7c7f
|
Rearrange _composite to optimize for common cases first
|
2013-10-27 04:51:14 -07:00 |
Jeffrey Pfau
|
6e40c7ec29
|
Replace bit-packed map data with flags
|
2013-10-27 04:51:09 -07:00 |
Jeffrey Pfau
|
7cb183a8be
|
Only update active region if necessary
|
2013-10-27 03:44:38 -07:00 |
Jeffrey Pfau
|
775f9db546
|
Begin OBJ mosaic
|
2013-10-27 03:12:55 -07:00 |
Jeffrey Pfau
|
3b0ee473d3
|
Refactor sprite code in preparation of implementing OBJ mosaic
|
2013-10-27 02:39:35 -07:00 |
Jeffrey Pfau
|
72ef1643c7
|
Rotate 16-bit without using AND
|
2013-10-26 16:40:31 -07:00 |
Jeffrey Pfau
|
0155d9c028
|
Remove SPRITE_DRAW_PIXEL_*_VARIANT
|
2013-10-26 14:56:35 -07:00 |
Jeffrey Pfau
|
ffef3d2486
|
Preemptively mark the envelope as dead in some cases
|
2013-10-26 04:23:08 -07:00 |
Jeffrey Pfau
|
70365782de
|
Reorganize audio code so as to only update channels when audible
|
2013-10-26 04:08:18 -07:00 |
Jeffrey Pfau
|
cd448324c5
|
Fixed the first load from SRAM not returning a value
|
2013-10-26 03:04:21 -07:00 |
Jeffrey Pfau
|
9c922862e8
|
Fix mode 3 in 16-bit color
|
2013-10-26 02:39:45 -07:00 |
Jeffrey Pfau
|
7f17be5ead
|
Support WIN0/1 in modes 2 - 5
|
2013-10-26 02:33:29 -07:00 |
Jeffrey Pfau
|
6376a1ff7f
|
Support OBJWIN in mode 4
|
2013-10-26 02:26:08 -07:00 |
Jeffrey Pfau
|
38116f0ead
|
Rearrange calculation to shave off some more time
|
2013-10-26 01:43:06 -07:00 |
Jeffrey Pfau
|
71b5473563
|
Fix white on 5-6-5 color
|
2013-10-26 01:32:27 -07:00 |
Jeffrey Pfau
|
915b04dded
|
Add support for PowerPC to the memory and CPU interfaces
|
2013-10-26 01:53:13 -04:00 |
Jeffrey Pfau
|
07115ca655
|
Ensure thread-local storage is created before it is needed
|
2013-10-25 03:15:31 -07:00 |
Jeffrey Pfau
|
d5291eb1b6
|
Remove unnecessary sprite post-processing passes
|
2013-10-25 00:27:42 -07:00 |
Jeffrey Pfau
|
c12eca835f
|
Don't busy-wait if the emulator is paused
|
2013-10-24 01:09:01 -07:00 |
Jeffrey Pfau
|
17ccb35c33
|
Small, trivial optimizations in GBAVideoSoftwareRendererDrawScanline
|
2013-10-24 00:54:51 -07:00 |
Jeffrey Pfau
|
6eafbc6331
|
Tear out counter-productive optimization
|
2013-10-24 00:21:59 -07:00 |
Jeffrey Pfau
|
4b9e9f84be
|
Start implementing mosaic with a half-baked mode 0 implementation
|
2013-10-23 01:17:53 -07:00 |
Jeffrey Pfau
|
9358cbd690
|
Initialize rumble callback to null
|
2013-10-22 00:26:09 -07:00 |
Jeffrey Pfau
|
709434ce9f
|
Add Drill Dozer to the override list
|
2013-10-22 00:18:56 -07:00 |
Jeffrey Pfau
|
e74b0125a7
|
Expose rumble
|
2013-10-21 21:50:29 -07:00 |
Jeffrey Pfau
|
2fde9738be
|
Add more overrides
|
2013-10-21 21:42:28 -07:00 |
Jeffrey Pfau
|
0458184a5e
|
Implement gyro
|
2013-10-21 02:54:52 -07:00 |
Jeffrey Pfau
|
c77ed8c11e
|
Only reset save type manually for flash
|
2013-10-21 01:28:41 -07:00 |
Jeffrey Pfau
|
fcaa0eb066
|
Implement RTC
|
2013-10-20 21:39:47 -07:00 |
Jeffrey Pfau
|
7e5eada69b
|
Mark more registers as safe to read
|
2013-10-20 18:14:04 -07:00 |
Jeffrey Pfau
|
ddc1034d42
|
Start GPIO
|
2013-10-20 18:08:18 -07:00 |
Jeffrey Pfau
|
228b6aaa01
|
Remove obsolete errno interface
|
2013-10-20 16:48:29 -07:00 |
Jeffrey Pfau
|
4429435071
|
Implement sound length
|
2013-10-20 16:33:37 -07:00 |
Jeffrey Pfau
|
d6e466dda1
|
Fix pitch of channel 3
|
2013-10-20 16:04:22 -07:00 |
Jeffrey Pfau
|
76266a4ee7
|
Move mode 0 loops out of macros
|
2013-10-20 12:36:57 -07:00 |
Jeffrey Pfau
|
76f02be757
|
Ability to disable sound
|
2013-10-20 02:18:09 -07:00 |
Jeffrey Pfau
|
ca80e5f32b
|
Add l/r channel scaling
|
2013-10-20 02:10:54 -07:00 |
Jeffrey Pfau
|
cc8eeb4353
|
Start audio channel 3
|
2013-10-19 03:04:45 -07:00 |
Jeffrey Pfau
|
cfb0115c0e
|
Commit unreadable sound memory for the sake of bitewise assignment
|
2013-10-19 00:49:20 -07:00 |
Jeffrey Pfau
|
4a0a462673
|
Clean up channel 1
|
2013-10-19 00:48:57 -07:00 |
Jeffrey Pfau
|
003a537dc7
|
Implement most of channels 1 and 2
|
2013-10-18 23:12:14 -07:00 |
Jeffrey Pfau
|
79d483d002
|
Fix audio loudness issues
|
2013-10-18 19:44:55 -07:00 |
Jeffrey Pfau
|
04f99bd358
|
Prescale audio
|
2013-10-18 09:41:13 -07:00 |
Jeffrey Pfau
|
565ee43bb2
|
Fix video cycle timing to match audio timing fix
|
2013-10-18 09:41:01 -07:00 |
Jeffrey Pfau
|
093c86c943
|
Add channel 4 envelope, fix audio timing
|
2013-10-18 09:33:07 -07:00 |
Jeffrey Pfau
|
a55b4dc87f
|
Fix valgrind-found uninitialized values
|
2013-10-18 08:42:15 -07:00 |
Jeffrey Pfau
|
3acabb01c8
|
Conglomerate save data initialization to ensure the struct is always initialized
|
2013-10-18 08:36:05 -07:00 |
Jeffrey Pfau
|
d99bf7fdff
|
Rename GBAAudioWave to GBAAudioEnvelope, add fields for internal state
|
2013-10-18 08:10:10 -07:00 |
Jeffrey Pfau
|
7393351e27
|
Start implementing channel 4
|
2013-10-18 01:21:44 -07:00 |
Jeffrey Pfau
|
eac9dfb325
|
Start filling in audio framework
|
2013-10-18 01:21:22 -07:00 |
Jeffrey Pfau
|
ea41ef7ae6
|
Fix main thread stalling when starting a game
|
2013-10-17 23:10:16 -07:00 |
Jeffrey Pfau
|
62d941a979
|
Plumb through filename for checking overrides
|
2013-10-17 01:07:08 -07:00 |
Jeffrey Pfau
|
451c16f4cb
|
Fix overwriting DISPSTAT with fixed values for the lower bits
|
2013-10-16 22:23:32 -07:00 |
Jeffrey Pfau
|
3edb2da58d
|
Make platform directory for ports
|
2013-10-16 01:35:49 -07:00 |
Jeffrey Pfau
|
a1fb90635f
|
Functions for explicitly pausing and unpausing
|
2013-10-16 00:52:52 -07:00 |
Jeffrey Pfau
|
a107243c7a
|
Support pausing
|
2013-10-16 00:46:09 -07:00 |
Jeffrey Pfau
|
8e43ffed90
|
Adjust scaling/rotation state for backgrounds regardless of if they were actually drawn
|
2013-10-15 22:58:47 -07:00 |
Jeffrey Pfau
|
f4a1e994d6
|
Mark BG*CNT registers as safe to read
|
2013-10-15 21:55:28 -07:00 |
Jeffrey Pfau
|
0120ea93a5
|
Sprites shouldn't be blended if the current window has blending disabled
|
2013-10-15 21:44:47 -07:00 |
Jeffrey Pfau
|
ce33adf5e4
|
Don't wait on frame swap when we aren't doing frame synchronization in the first place
|
2013-10-15 02:34:37 -07:00 |
Jeffrey Pfau
|
1b5dd352af
|
Sprites can only be color variants when they aren't forced semitransparent
|
2013-10-15 02:09:23 -07:00 |
Jeffrey Pfau
|
1b54f50daa
|
Allow sprites to be ordered by priority in addition to OAM order
|
2013-10-15 01:45:49 -07:00 |
Jeffrey Pfau
|
ee344f0dca
|
Optimize and fix IntrWait, make sure that SVC doesn't trample its input register r0
|
2013-10-15 00:50:07 -07:00 |
Jeffrey Pfau
|
f90b01b95d
|
Fix setting privilege mode when entering SVC
|
2013-10-14 22:32:52 -07:00 |
Jeffrey Pfau
|
9430040cb3
|
Check for some invalid memory regions before performing BIOS decompression routines
|
2013-10-13 20:12:30 -07:00 |
Jeffrey Pfau
|
67007ee002
|
Fix 8-bit VRAM writes
|
2013-10-13 15:23:39 -07:00 |
Jeffrey Pfau
|
ee44e2ac89
|
Add Super Mario Bros. Advance 4 to the override list
|
2013-10-13 15:06:32 -07:00 |
Jeffrey Pfau
|
187687403c
|
Fix EEPROM initialization
|
2013-10-13 12:14:32 -07:00 |
Jeffrey Pfau
|
a20117ec14
|
Fix Huffman destinations
|
2013-10-13 12:14:16 -07:00 |
Jeffrey Pfau
|
9d08997fdc
|
Fix Huffman with tree sizes >127
|
2013-10-13 03:25:46 -07:00 |
Jeffrey Pfau
|
3ca0a97ca1
|
Prepopulate RCNT
|
2013-10-12 16:37:10 -07:00 |
Jeffrey Pfau
|
d8778cf516
|
Implement Huffman
|
2013-10-12 13:32:23 -07:00 |
Jeffrey Pfau
|
973abb7b94
|
Uncomment audio initialization line
|
2013-10-12 02:29:24 -07:00 |
Jeffrey Pfau
|
51ec1c1099
|
Bring SDL main to parity with GL main
|
2013-10-12 02:13:26 -07:00 |
Jeffrey Pfau
|
cf298474bc
|
Use 5_6_5 with SDL
|
2013-10-12 02:11:57 -07:00 |
Jeffrey Pfau
|
25cc40f3e1
|
Bring Raspberry Pi main to parity with GL main
|
2013-10-12 01:18:34 -07:00 |
Jeffrey Pfau
|
290b64b171
|
Compile-time flag for disabling debugger
|
2013-10-12 00:34:59 -07:00 |
Jeffrey Pfau
|
b3dc065144
|
Read DISPCNT, fix video register writing
|
2013-10-11 22:04:41 -07:00 |
Jeffrey Pfau
|
de39f23a1b
|
Add ROM override checking, seed with BPEE
|
2013-10-11 22:03:27 -07:00 |
Jeffrey Pfau
|
58611facf1
|
Fix OBJWIN blending modifications on BG modes 0 - 2
|
2013-10-11 00:43:01 -07:00 |
Jeffrey Pfau
|
cff77a3a81
|
Remove extraneous macros by adding a palette variable
|
2013-10-10 23:33:22 -07:00 |
Jeffrey Pfau
|
e789b324dc
|
Refactor BREAK_WINDOW into _breakWindow, fix bug cleaning up extra windows
|
2013-10-10 01:40:49 -07:00 |
Jeffrey Pfau
|
2ef64ede02
|
Basic tab-completion
|
2013-10-10 01:05:25 -07:00 |
Jeffrey Pfau
|
01d8569262
|
Remove reliance on linenoise
|
2013-10-10 00:29:41 -07:00 |
Jeffrey Pfau
|
c19d1117f1
|
Add timings to CpuSet and CpuFastSet
|
2013-10-09 01:57:53 -07:00 |
Jeffrey Pfau
|
09a0f95ed4
|
Actually use GBATestIRQ
|
2013-10-09 01:56:59 -07:00 |
Jeffrey Pfau
|
6906df95e2
|
VCOUNT is not properly reset on wrap
|
2013-10-09 01:09:09 -07:00 |
Jeffrey Pfau
|
c3a7d87214
|
Add missing variable
|
2013-10-09 00:44:44 -07:00 |
Jeffrey Pfau
|
9698531702
|
Clean up thread starting, stopping and sound
|
2013-10-09 00:44:31 -07:00 |
Jeffrey Pfau
|
2f9bcf63b7
|
Clean up audio sync code
|
2013-10-08 22:36:55 -07:00 |
Jeffrey Pfau
|
84ad94b85e
|
Support loading BIOS
|
2013-10-08 22:36:19 -07:00 |
Jeffrey Pfau
|
68d85ab9b7
|
Implement VRAM load/store8
|
2013-10-08 21:43:43 -07:00 |
Jeffrey Pfau
|
3e3bb58ae5
|
Minor timing fixes
|
2013-10-08 02:10:43 -07:00 |
Jeffrey Pfau
|
40a0a0eb11
|
Fix reading 32-bit unaligned IO registers
|
2013-10-06 12:28:48 -07:00 |
Jeffrey Pfau
|
45501658b5
|
Sync to audio by default
|
2013-10-05 02:52:57 -07:00 |
Jeffrey Pfau
|
4ef6a70731
|
Refactor frame synchronization
|
2013-10-05 02:11:53 -07:00 |
Jeffrey Pfau
|
2f00e3d146
|
Don't trample audio buffer
|
2013-10-03 12:08:52 -07:00 |
Jeffrey Pfau
|
4a09d41aab
|
Fix circle buffers
|
2013-10-03 01:25:51 -07:00 |
Jeffrey Pfau
|
0dd69e8273
|
Fix incorrect condition in FIFO sampling
|
2013-10-03 01:23:16 -07:00 |
Jeffrey Pfau
|
da38027654
|
Add missing changes
|
2013-10-02 02:45:41 -07:00 |
Jeffrey Pfau
|
ba0596da07
|
Hook up audio for DMA sound channels
|
2013-10-02 02:40:16 -07:00 |
Jeffrey Pfau
|
a834f8b1f6
|
Sample FIFOs with sound DMA timer
|
2013-10-02 00:46:51 -07:00 |
Jeffrey Pfau
|
71ec6162f1
|
Fix circle buffer sizing
|
2013-10-02 00:46:19 -07:00 |
Jeffrey Pfau
|
09b4a4a29a
|
Build up DMA channel audio infrastructure from GBA.js
|
2013-10-01 23:56:10 -07:00 |
Jeffrey Pfau
|
9bf6b571b1
|
Fix naming
|
2013-09-30 02:02:26 -07:00 |
Jeffrey Pfau
|
f5bcb1eace
|
Change log level to mask
|
2013-09-30 01:48:41 -07:00 |
Jeffrey Pfau
|
aaaafb90a5
|
Add ability to get thread-specific GBA
|
2013-09-30 01:42:31 -07:00 |
Jeffrey Pfau
|
be36c1b5d6
|
Clean up error handling a bit
|
2013-09-30 01:31:14 -07:00 |
Jeffrey Pfau
|
3439fa5bf4
|
Start audio
|
2013-09-30 01:23:58 -07:00 |
Jeffrey Pfau
|
25885e1e82
|
Invalid memory reads
|
2013-09-27 23:48:56 -07:00 |
Jeffrey Pfau
|
453fdac3fe
|
Fix ArcTan2
|
2013-09-27 09:48:04 -07:00 |
Jeffrey Pfau
|
f8341f2d20
|
Rotate 16-bit unaligned loads
|
2013-09-27 02:07:44 -07:00 |
Jeffrey Pfau
|
f6e1e6e6d5
|
Fix OBJWIN for backgrounds
|
2013-09-26 17:12:46 -07:00 |
Jeffrey Pfau
|
07d3fbaceb
|
Support 16-bit color again
|
2013-09-26 15:11:09 -07:00 |
Jeffrey Pfau
|
187e099f25
|
Fix sorting in _composite
|
2013-09-26 10:35:26 -07:00 |
Jeffrey Pfau
|
a7182b8df9
|
Add watchpoints
|
2013-09-26 00:26:11 -07:00 |
Jeffrey Pfau
|
99769695d7
|
Fix ADCS C bit
|
2013-09-26 00:25:48 -07:00 |
Jeffrey Pfau
|
662feed390
|
Always go through pointers for load and store
|
2013-09-25 22:11:58 -07:00 |
Jeffrey Pfau
|
fcdbbf2a43
|
Fix bank switch detection
|
2013-09-25 04:48:27 -07:00 |
Jeffrey Pfau
|
13a2289e25
|
Fix ADCS
|
2013-09-25 00:27:40 -07:00 |
Jeffrey Pfau
|
a0505ee7d7
|
Pepper memory access functions with warnings
|
2013-09-24 23:10:51 -07:00 |
Jeffrey Pfau
|
1a3f28d2b0
|
Start implementing OBJWIN
|
2013-09-24 22:58:53 -07:00 |
Jeffrey Pfau
|
cec9e67d88
|
Support flash game saves
|
2013-09-23 23:05:25 -07:00 |
Jeffrey Pfau
|
abc89982be
|
Windows on backdrop and blending with backdrop
|
2013-09-23 20:39:28 -07:00 |
Jeffrey Pfau
|
8132341b75
|
Support reading 8-bit values from palette RAM
|
2013-09-22 16:45:36 -07:00 |
Jeffrey Pfau
|
34ddb09516
|
Plumb through filename for proper saves
|
2013-09-22 16:45:19 -07:00 |
Jeffrey Pfau
|
388dbc0851
|
Fix window values where start >= max being broken
|
2013-09-22 15:14:14 -07:00 |
Jeffrey Pfau
|
2a6e7db693
|
Make GBALog actually use its log levels
|
2013-09-22 15:01:23 -07:00 |
Jeffrey Pfau
|
e7622ed70f
|
Fix tiles being shifted when adjusting outX
|
2013-09-22 11:15:52 -07:00 |
Jeffrey Pfau
|
ddf078383a
|
Fix buffer underrun in mode 0 rendering
|
2013-09-22 03:59:33 -07:00 |
Jeffrey Pfau
|
2ce017b555
|
Fix WIN0H writing with overlapping values
|
2013-09-22 03:00:43 -07:00 |
Jeffrey Pfau
|
4523777bee
|
Fix initializing savegames when writing to disk fails
|
2013-09-22 02:13:03 -07:00 |
Jeffrey Pfau
|
e80ab4c855
|
Make debugger optional
|
2013-09-21 18:10:13 -07:00 |
Jeffrey Pfau
|
9d10ca3f90
|
Move out int declarations for stricter parsers
|
2013-09-21 01:27:16 -07:00 |
Jeffrey Pfau
|
85e1c2d573
|
Exploit cache locality for slightly faster drawing
|
2013-08-03 01:15:08 -07:00 |
Jeffrey Pfau
|
6b86cdf9ef
|
LDM should force-align loads
|
2013-07-31 01:59:00 -07:00 |
Jeffrey Pfau
|
3301cc9f97
|
Reuse code for splitting WIN0 for WIN1
|
2013-07-31 00:48:57 -07:00 |
Jeffrey Pfau
|
d2f15f4af4
|
Window bounds enforced
|
2013-07-31 00:48:34 -07:00 |
Jeffrey Pfau
|
0939d5e2bc
|
Fix WIN0 cases
|
2013-07-31 00:24:21 -07:00 |
Jeffrey Pfau
|
5a685558c7
|
Window respects y coordinate now
|
2013-07-30 21:39:25 -07:00 |
Jeffrey Pfau
|
453939fc8d
|
Sloppy first implementation of windows
|
2013-07-29 03:33:22 -07:00 |
Jeffrey Pfau
|
7291fcfe9e
|
Start windows
|
2013-07-29 01:46:09 -07:00 |
Jeffrey Pfau
|
27f5468e01
|
Writing for Window registers
|
2013-07-29 01:30:27 -07:00 |
Jeffrey Pfau
|
3f122dcf14
|
Fix 8-bit I/O writes
|
2013-07-29 01:30:06 -07:00 |
Jeffrey Pfau
|
15aa862d70
|
Small optimization for sprite drawing
|
2013-07-29 00:44:38 -07:00 |
Jeffrey Pfau
|
425056ca15
|
Ensure LDM does not write back incorrectly with register list overlaps
|
2013-07-27 03:02:52 -07:00 |
Jeffrey Pfau
|
9e578da5a1
|
Do register writeback in addressing mode 2 before actual load/store
|
2013-07-26 23:42:45 -07:00 |
Jeffrey Pfau
|
8b1eb01a96
|
Fix MUL, UMULL, UMLAL
|
2013-07-26 01:03:34 -07:00 |
Jeffrey Pfau
|
6321b1f827
|
Fix ARM_CARRY_FROM
|
2013-07-26 00:50:20 -07:00 |
Jeffrey Pfau
|
76cd712907
|
Fix modes 4 and 5
|
2013-07-26 00:10:33 -07:00 |
Jeffrey Pfau
|
3537099820
|
Fix sprites 64+ not drawing
|
2013-07-21 21:10:12 -07:00 |
Jeffrey Pfau
|
774b7d75bc
|
Fix broken bitmap
|
2013-07-21 19:04:24 -07:00 |
Jeffrey Pfau
|
6829b54234
|
Bitmap of enabled sprites
|
2013-07-21 18:58:32 -07:00 |
Jeffrey Pfau
|
edecf6c1f6
|
Minor optimization to backgroud mode 0
|
2013-07-21 18:56:45 -07:00 |
Jeffrey Pfau
|
8dc3fa9bec
|
Use software renderer for EGL, just use it for uploading the texture
|
2013-07-21 05:15:02 -07:00 |
Jeffrey Pfau
|
da7853bda6
|
Mode 5
|
2013-07-20 01:46:40 -07:00 |
Jeffrey Pfau
|
15a2e43b2b
|
Fix read/write 0x0400020A
|
2013-07-20 01:40:17 -07:00 |
Jeffrey Pfau
|
02cb9c56c5
|
Reuse bitmap mode background code
|
2013-07-20 01:38:13 -07:00 |
Jeffrey Pfau
|
90ddf937a5
|
Implement modes 3 and 4
|
2013-07-19 21:51:14 -07:00 |
Jeffrey Pfau
|
1e4a82ef5b
|
Update GBA BIOS from GBA.js
|
2013-07-18 02:14:22 -07:00 |
Jeffrey Pfau
|
6a1afbda50
|
8-bit write to IO
|
2013-07-18 02:13:49 -07:00 |
Jeffrey Pfau
|
8215afcee6
|
Decouple GLSL and GL mains
|
2013-07-17 23:31:19 -07:00 |
Jeffrey Pfau
|
49de0fb52e
|
Different mains for SDL and EGL, supporting Raspberry Pi and BeagleBone Black
|
2013-05-29 21:18:25 -07:00 |
Jeffrey Pfau
|
f8b0acd86a
|
Fix tile mapping for 256-color sprites
|
2013-05-13 02:47:11 -07:00 |
Jeffrey Pfau
|
c20efb42ff
|
Clean up thread locking in the software renderer
|
2013-05-11 21:07:10 -07:00 |
Jeffrey Pfau
|
63b72657c1
|
Fix transformed sprites that are off the top of the screen
|
2013-05-11 18:36:35 -07:00 |
Jeffrey Pfau
|
f7ddc3a2b6
|
Implement RLUnCompWram/RLUnCompVram
|
2013-05-11 18:22:23 -07:00 |
Jeffrey Pfau
|
a6d87bbfb9
|
Better cycle counting for STR
|
2013-05-11 18:01:16 -07:00 |
Jeffrey Pfau
|
b6361cdfa9
|
Start LDM/STM timings
|
2013-05-11 17:05:57 -07:00 |
Jeffrey Pfau
|
0a37300bcf
|
Improve LDR/STR cycle counting
|
2013-05-11 14:55:29 -07:00 |
Jeffrey Pfau
|
013e322c0b
|
Improved cycle counting for branches
|
2013-05-11 14:45:31 -07:00 |
Jeffrey Pfau
|
f6592b17b8
|
Implement MUL timings
|
2013-05-11 14:35:10 -07:00 |
Jeffrey Pfau
|
5c31757912
|
Remove int operations and vectorize shader calculation
|
2013-05-08 21:10:32 -07:00 |
Jeffrey Pfau
|
f246587a9d
|
Add support for (my) joystick
|
2013-05-08 16:57:17 -07:00 |
Jeffrey Pfau
|
12e681392d
|
Fragment shader now no longer requires extensions
|
2013-05-08 15:19:54 -07:00 |
Jeffrey Pfau
|
8047ce11d0
|
Fix off-by-one scanline
|
2013-05-07 22:22:35 -07:00 |
Jeffrey Pfau
|
5b5251434f
|
Add background sizes to GLSL mode 0
|
2013-05-07 22:21:40 -07:00 |
Jeffrey Pfau
|
f278805255
|
Fix x indexing into VRAM
|
2013-05-07 21:48:46 -07:00 |
Jeffrey Pfau
|
5388fb8cea
|
Draw backdrop in GLSL renderer
|
2013-05-07 04:40:25 -07:00 |
Jeffrey Pfau
|
03fb87acd0
|
Continue implementing GLSL mode 0, now with layers and offsets
|
2013-05-07 04:11:49 -07:00 |
Jeffrey Pfau
|
cc2262149e
|
Reindent GBAVideoGLSLRendererProcessEvents
|
2013-05-07 03:36:50 -07:00 |
Jeffrey Pfau
|
20b67240ae
|
Start on mode 0 renderer
|
2013-05-07 03:36:34 -07:00 |
Jeffrey Pfau
|
f6a9467e86
|
Write to renderer VRAM
|
2013-05-07 03:36:15 -07:00 |
Jeffrey Pfau
|
bb1e598a78
|
Start GLSL renderer
|
2013-05-07 01:04:36 -07:00 |
Jeffrey Pfau
|
db96be98dc
|
Deinit video when shutting down
|
2013-05-07 01:00:18 -07:00 |
Jeffrey Pfau
|
8bc5ec4222
|
Roll out incorrect fix for Halt bug and apply proper fix
|
2013-05-05 20:37:35 -07:00 |
Jeffrey Pfau
|
7ec435b94c
|
Fix 512x512 backgrounds in Mode 0
|
2013-05-05 01:33:05 -07:00 |
Jeffrey Pfau
|
ae3f623fd5
|
Overwrite IF while attempting to IntrWait
|
2013-05-05 00:44:30 -07:00 |
Jeffrey Pfau
|
fc7aec557b
|
Count cycles for load/store singles
|
2013-05-04 23:57:12 -07:00 |
Jeffrey Pfau
|
738b3dc44e
|
Implement ArcTan2
|
2013-05-04 15:50:42 -07:00 |
Jeffrey Pfau
|
374aca2ff7
|
Move event polling to after framedraw only
|
2013-05-04 14:49:04 -07:00 |
Jeffrey Pfau
|
ac0c7ba792
|
Implement BgAffineSet
|
2013-05-04 01:20:42 -07:00 |
Jeffrey Pfau
|
fb2ddd6c32
|
Start implementing modes 1/2
|
2013-05-04 01:20:24 -07:00 |
Jeffrey Pfau
|
7373c37e19
|
Fix sprite blending with between layers
|
2013-05-03 22:23:45 -07:00 |
Jeffrey Pfau
|
813b2c0697
|
Partially implement frameskip
|
2013-05-03 10:24:56 -07:00 |
Jeffrey Pfau
|
3ad2510b78
|
Get rid of flags struct and redo compositing
|
2013-05-03 10:02:01 -07:00 |
Jeffrey Pfau
|
6ef3e3b6a8
|
Copy ObjAffineSet implementation from GBA.js
|
2013-05-03 01:43:39 -07:00 |
Jeffrey Pfau
|
2bc11c9aac
|
32- and 16-bit reads of OAM
|
2013-05-03 01:33:20 -07:00 |
Jeffrey Pfau
|
862c93916d
|
Support edge cases for 256-color mode 0, excluding hflip
|
2013-05-03 01:21:25 -07:00 |
Jeffrey Pfau
|
1c6fc26bf7
|
Support hflip on mode 0 edges
|
2013-05-02 21:51:00 -07:00 |
Jeffrey Pfau
|
ebb1c08840
|
Fix warnings on gcc
|
2013-05-02 00:40:12 -07:00 |
Jeffrey Pfau
|
13a46429e2
|
Remove -Wno-unused and fix resulting errors
|
2013-05-02 00:35:32 -07:00 |
Jeffrey Pfau
|
a635f4de4d
|
Implement addressing mode 1 ASR register shift
|
2013-05-02 00:32:04 -07:00 |
Jeffrey Pfau
|
86c228f2e4
|
Implement SMLAL
|
2013-05-02 00:29:06 -07:00 |
Jeffrey Pfau
|
a80175e689
|
Fix sprite variant condition
|
2013-05-01 23:56:59 -07:00 |
Jeffrey Pfau
|
3b3f55b14c
|
Variant and 256-color transformed sprites
|
2013-05-01 23:54:39 -07:00 |
Jeffrey Pfau
|
0423656ad8
|
Extract more into macros
|
2013-05-01 23:46:15 -07:00 |
Jeffrey Pfau
|
d6c88fc7cb
|
Introduce macros for sprite drawing
|
2013-05-01 23:39:55 -07:00 |
Jeffrey Pfau
|
e3fddc5739
|
Support 256-color sprites
|
2013-05-01 23:27:49 -07:00 |
Jeffrey Pfau
|
61c6b7186e
|
Implement UMLAL
|
2013-05-01 23:11:00 -07:00 |
Jeffrey Pfau
|
cd73c562ea
|
Implement addressing mode 1 LSL/LSR with register
|
2013-05-01 23:08:22 -07:00 |
Jeffrey Pfau
|
aeecbdb56f
|
Draw backgrounds with variant palette when appropriate
|
2013-05-01 02:51:33 -07:00 |
Jeffrey Pfau
|
40e9a7ef26
|
Update variant palettes when writing to palette
|
2013-05-01 02:37:15 -07:00 |
Jeffrey Pfau
|
03361f20a2
|
Start drawing backdrop
|
2013-05-01 02:32:56 -07:00 |
Jeffrey Pfau
|
2e9a64a26e
|
Implement Sqrt
|
2013-05-01 00:27:31 -07:00 |
Jeffrey Pfau
|
6ed3c18afd
|
Support IWRAM in LZ77
|
2013-05-01 00:24:28 -07:00 |
Jeffrey Pfau
|
5f6cf337a0
|
16-bit DMA address writes
|
2013-04-30 23:22:39 -07:00 |
Jeffrey Pfau
|
da489b90f8
|
Ensure shifter carry-out gets bits set right
|
2013-04-30 21:02:56 -07:00 |
Jeffrey Pfau
|
f7fbb877e0
|
Fix Div output registers
|
2013-04-30 20:54:09 -07:00 |
Jeffrey Pfau
|
118c393d1b
|
Fix addressing mode 2 register post-indexed
|
2013-04-30 02:43:12 -07:00 |
Jeffrey Pfau
|
337d4dc1e6
|
Implement addressing mode 1 ROR with register
|
2013-04-30 02:42:54 -07:00 |
Jeffrey Pfau
|
e1963c6e60
|
Implement SMULL
|
2013-04-30 01:42:24 -07:00 |
Jeffrey Pfau
|
698bc0ada5
|
Re-add 256-color
|
2013-04-30 01:38:19 -07:00 |
Jeffrey Pfau
|
6cdfa43e97
|
hflip in fast path
|
2013-04-29 22:05:32 -07:00 |
Jeffrey Pfau
|
87e5973039
|
Proper blending on sprite targets
|
2013-04-29 21:27:29 -07:00 |
Jeffrey Pfau
|
2d4c1fdc2c
|
Add back compositing
|
2013-04-29 21:27:05 -07:00 |
Jeffrey Pfau
|
56333d3344
|
Use base rendering mode
|
2013-04-29 21:12:56 -07:00 |
Jeffrey Pfau
|
7bb4d9d5ff
|
Throw out slow background renderer. Let me try again.
|
2013-04-29 00:42:04 -07:00 |
Jeffrey Pfau
|
6c2f7b3b73
|
Use 32-bit color internally
|
2013-04-28 23:01:45 -07:00 |
Jeffrey Pfau
|
7c597d5205
|
Rearrange some code in preparation of adding windows
|
2013-04-28 02:57:06 -07:00 |
Jeffrey Pfau
|
dfd360bfbb
|
Remove accidentally left in testing code
|
2013-04-28 01:46:43 -07:00 |
Jeffrey Pfau
|
5f6b57734d
|
Implement character mapping
|
2013-04-28 01:43:39 -07:00 |
Jeffrey Pfau
|
8072ff7d2c
|
Rotate LDR
|
2013-04-28 01:33:59 -07:00 |
Jeffrey Pfau
|
6450ce16b2
|
Fix LDR(3)
|
2013-04-28 01:33:45 -07:00 |
Jeffrey Pfau
|
e86f7d79fb
|
Clean up and fix conditions for CPSR V
|
2013-04-28 00:19:15 -07:00 |
Jeffrey Pfau
|
19f9b72c33
|
Fix CPSR C being written
|
2013-04-28 00:06:13 -07:00 |
Jeffrey Pfau
|
682684cb6d
|
Output MUL into the right register
|
2013-04-27 23:44:33 -07:00 |
Jeffrey Pfau
|
2c8786ae4c
|
Use LE instead of GE where appropriate
|
2013-04-27 23:44:17 -07:00 |
Jeffrey Pfau
|
dd4e6b0ce1
|
Stub RegisterRamReset
|
2013-04-27 22:54:41 -07:00 |
Jeffrey Pfau
|
ca959c640a
|
Implement EEPROM
|
2013-04-27 21:51:58 -07:00 |
Jeffrey Pfau
|
f4fa423135
|
EEPROM only works in DMAs
|
2013-04-27 20:39:14 -07:00 |
Jeffrey Pfau
|
4380ec0260
|
Start implementing EEPROM
|
2013-04-27 20:25:31 -07:00 |
Jeffrey Pfau
|
e02059947c
|
Start implementing save games
|
2013-04-27 19:59:41 -07:00 |
Jeffrey Pfau
|
dab27463a9
|
Implement DivArm
|
2013-04-27 19:58:21 -07:00 |
Jeffrey Pfau
|
fd5661e941
|
Fix alpha blending when neither target 1 or target 2 are set
|
2013-04-27 03:09:23 -07:00 |
Jeffrey Pfau
|
2e78381e55
|
Implement SWI
|
2013-04-27 02:56:34 -07:00 |
Jeffrey Pfau
|
6c44cf8dfc
|
Implement BL
|
2013-04-27 02:54:16 -07:00 |
Jeffrey Pfau
|
21b9222357
|
Fix entering SWI mode
|
2013-04-27 02:50:35 -07:00 |
Jeffrey Pfau
|
bd9714b540
|
Implement STR(2)/STRH(2)
|
2013-04-27 02:42:42 -07:00 |
Jeffrey Pfau
|
2fc5474d91
|
Implement addressing mode 1 ROR immediate
|
2013-04-27 01:54:57 -07:00 |
Jeffrey Pfau
|
2bc23e7aa2
|
Redo compositing and sprite blending
|
2013-04-27 01:36:06 -07:00 |
Jeffrey Pfau
|
b3e1aa7853
|
Don't blend if not target 1
|
2013-04-27 00:11:04 -07:00 |
Jeffrey Pfau
|
f7922c1627
|
Restructure background drawing code for multipalette
|
2013-04-26 23:59:50 -07:00 |
Jeffrey Pfau
|
1ff337c6fc
|
Allow 256-color rendering
|
2013-04-26 22:21:38 -07:00 |
Jeffrey Pfau
|
13c95a2aae
|
Build fixes for linux
|
2013-04-26 03:08:59 -07:00 |
Jeffrey Pfau
|
3cd5e8d093
|
Implement Div
|
2013-04-26 02:05:54 -07:00 |
Jeffrey Pfau
|
d2e84f0a30
|
Implement IntrWait
|
2013-04-26 02:00:59 -07:00 |
Jeffrey Pfau
|
7c895f6091
|
Load files from arg 1
|
2013-04-26 01:50:14 -07:00 |
Jeffrey Pfau
|
301c07dda3
|
Implement ADC, SBC
|
2013-04-26 01:25:31 -07:00 |
Jeffrey Pfau
|
c61812325c
|
Transformed sprites
|
2013-04-26 01:06:50 -07:00 |
Jeffrey Pfau
|
f91149e30f
|
Flipped background tiles
|
2013-04-25 22:03:15 -07:00 |
Jeffrey Pfau
|
a1910206c0
|
Support blending with sprites behind a background
|
2013-04-25 02:08:12 -07:00 |
Jeffrey Pfau
|
fefbf7a296
|
Flip sprites vertically after applying boundary operations
|
2013-04-25 01:55:47 -07:00 |
Jeffrey Pfau
|
cea8109c06
|
Run Vblank and Hblank DMAs
|
2013-04-25 01:50:28 -07:00 |
Jeffrey Pfau
|
e9e29610a4
|
Read from palette memory
|
2013-04-25 01:48:28 -07:00 |
Jeffrey Pfau
|
65e0445375
|
Implement TST
|
2013-04-25 00:56:43 -07:00 |
Jeffrey Pfau
|
cfc3ec4f3b
|
Implement ROR
|
2013-04-25 00:53:24 -07:00 |
Jeffrey Pfau
|
21490dcf51
|
Implement CMN
|
2013-04-25 00:48:35 -07:00 |
Jeffrey Pfau
|
c8b2d2753e
|
Use variant palette on sprites when target 1
|
2013-04-25 00:28:39 -07:00 |
Jeffrey Pfau
|
e1932f2411
|
Implement sprite flipping
|
2013-04-25 00:17:17 -07:00 |
Jeffrey Pfau
|
9dbd925d90
|
Allow for negative-y sprites
|
2013-04-25 00:11:27 -07:00 |
Jeffrey Pfau
|
4446e0dbde
|
Implement blending on sprites
|
2013-04-24 23:49:16 -07:00 |
Jeffrey Pfau
|
07b96cddef
|
Begin sprites
|
2013-04-24 23:40:22 -07:00 |
Jeffrey Pfau
|
00dd5bdaa8
|
Dual condition-variable non-hacky waiting-on-frame
|
2013-04-24 02:43:55 -07:00 |
Jeffrey Pfau
|
5122a236e0
|
Squelch warnings, turn on -Werror
|
2013-04-24 01:32:49 -07:00 |
Jeffrey Pfau
|
1c0af22990
|
Implement BLDALPHA
|
2013-04-24 01:16:03 -07:00 |
Jeffrey Pfau
|
40b00e7927
|
Refactor some code to enable compositing code to be shared
|
2013-04-24 00:50:17 -07:00 |
Jeffrey Pfau
|
0d7657e845
|
Implement BLDCNT (partially) and BLDY
|
2013-04-24 00:34:50 -07:00 |
Jeffrey Pfau
|
b3d9a1918b
|
Kludge to prevent busy-waiting while no frames are generating
|
2013-04-23 23:07:24 -07:00 |
Jeffrey Pfau
|
754725e124
|
Start using pixel flags to keep track of pixel states
|
2013-04-23 22:48:01 -07:00 |
Jeffrey Pfau
|
7c7e934dac
|
Turbo mode
|
2013-04-23 22:32:15 -07:00 |
Jeffrey Pfau
|
190f9b41e6
|
Implement STRB(2)
|
2013-04-23 02:13:59 -07:00 |
Jeffrey Pfau
|
e82fd991fa
|
More sane way of writing 32-bit values to VRAM, palette
|
2013-04-23 02:05:10 -07:00 |
Jeffrey Pfau
|
3a76cdc6e0
|
VRAM reading
|
2013-04-23 02:03:06 -07:00 |
Jeffrey Pfau
|
21704ab37a
|
Allow use of wrong LZ77 destination
|
2013-04-22 22:55:49 -07:00 |
Jeffrey Pfau
|
11d1de39e1
|
Fix non-zero character base
|
2013-04-22 02:28:03 -07:00 |
Jeffrey Pfau
|
bcf446737c
|
Start implementing transparency
|
2013-04-22 02:07:35 -07:00 |
Jeffrey Pfau
|
e1d5f3f457
|
Fix drawing wide backgrounds
|
2013-04-22 02:07:19 -07:00 |
Jeffrey Pfau
|
b48b868cfb
|
Write to VRAM
|
2013-04-22 01:59:25 -07:00 |
Jeffrey Pfau
|
f136d8165a
|
Was accidentally chopping off a bit in LZ77UnCompVram
|
2013-04-22 01:12:48 -07:00 |
Jeffrey Pfau
|
060ae364b5
|
Start drawing backgrounds
|
2013-04-22 01:11:48 -07:00 |
Jeffrey Pfau
|
764b6010c0
|
Sort backgrounds
|
2013-04-21 20:59:43 -07:00 |
Jeffrey Pfau
|
a6fb91bb7d
|
Do some cleanup of pthread data
|
2013-04-21 14:52:25 -07:00 |
Jeffrey Pfau
|
225729b79c
|
Implement BGxHOFS/BGxVOFS
|
2013-04-21 14:43:28 -07:00 |
Jeffrey Pfau
|
3ec0afa8fc
|
Implement BGxCNT
|
2013-04-21 14:09:41 -07:00 |
Jeffrey Pfau
|
265bbe4f8f
|
Add struct for keeping track of background state
|
2013-04-21 13:17:15 -07:00 |
Jeffrey Pfau
|
933e8330d2
|
Start implementing DISPCNT
|
2013-04-21 13:16:06 -07:00 |
Jeffrey Pfau
|
cdddcbf7aa
|
Pass off video registers to renderer
|
2013-04-21 12:39:33 -07:00 |
Jeffrey Pfau
|
573fcead5d
|
Start building up structs for video registers
|
2013-04-21 12:34:24 -07:00 |
Jeffrey Pfau
|
9f425c53c8
|
Spring IRQs if we need to
|
2013-04-21 01:09:11 -07:00 |
Jeffrey Pfau
|
3ca5e52de1
|
Handle key, quit events
|
2013-04-21 00:35:21 -07:00 |
Jeffrey Pfau
|
71986b0477
|
Support writing to palette, display palette on screen
|
2013-04-20 22:08:58 -07:00 |
Jeffrey Pfau
|
2860714714
|
Draw output buffer
|
2013-04-20 21:40:06 -07:00 |
Jeffrey Pfau
|
eba5d547b9
|
Start using SDL for graphics syncing
|
2013-04-20 20:29:53 -07:00 |
Jeffrey Pfau
|
a094024ad5
|
Add missing files
|
2013-04-20 18:11:27 -07:00 |
Jeffrey Pfau
|
67d25794e1
|
Fix LDMIA/STMIA
|
2013-04-20 18:03:59 -07:00 |
Jeffrey Pfau
|
14100f19d1
|
Implement LSL(2)
|
2013-04-20 18:03:48 -07:00 |
Jeffrey Pfau
|
0bfb77106b
|
Properly init and deinit renderers
|
2013-04-20 16:47:04 -07:00 |
Jeffrey Pfau
|
b4cee4c286
|
Properly isolate threading
|
2013-04-20 16:44:03 -07:00 |
Jeffrey Pfau
|
fffe39153f
|
Wait on thread initialization before returning from thread creation
|
2013-04-20 16:40:08 -07:00 |
Jeffrey Pfau
|
9ba9fac898
|
Restructure video memory
|
2013-04-20 16:16:37 -07:00 |
Jeffrey Pfau
|
cb48145ea3
|
Move main emulation into thread
|
2013-04-20 15:54:09 -07:00 |
Jeffrey Pfau
|
ff03bcf0f0
|
Fix MidiKey2Freq
|
2013-04-20 14:46:53 -07:00 |
Jeffrey Pfau
|
18fae08450
|
Fix Load/store shifters
|
2013-04-20 14:21:42 -07:00 |
Jeffrey Pfau
|
cd0f75c83f
|
Implement MLA
|
2013-04-20 13:36:42 -07:00 |
Jeffrey Pfau
|
bf54a68b0e
|
Implement UMULL
|
2013-04-20 13:22:10 -07:00 |
Jeffrey Pfau
|
63e809550d
|
Implement MidiKey2Freq
|
2013-04-20 03:01:50 -07:00 |
Jeffrey Pfau
|
e272481ccd
|
Implement LDR(2)
|
2013-04-20 02:57:20 -07:00 |
Jeffrey Pfau
|
e83936152d
|
Implement LZ77 decompression
|
2013-04-20 02:52:10 -07:00 |
Jeffrey Pfau
|
cf9a7224a3
|
Init video memory from the dummy renderer
|
2013-04-20 02:51:40 -07:00 |
Jeffrey Pfau
|
1972e73bec
|
Define memory regions
|
2013-04-19 23:34:26 -07:00 |
Jeffrey Pfau
|
f72c195739
|
Labels for I/O regions in the switch statement
|
2013-04-19 23:04:01 -07:00 |
Jeffrey Pfau
|
5d81a4eb18
|
Remainder of timer infrastructure
|
2013-04-19 23:01:04 -07:00 |
Jeffrey Pfau
|
57dcbef030
|
Implement timers from GBA.js implementation
|
2013-04-19 22:26:44 -07:00 |
Jeffrey Pfau
|
6087ad8c5f
|
Fix reading from DISPSTAT
|
2013-04-19 21:40:57 -07:00 |
Jeffrey Pfau
|
adfd8f6872
|
Make sure if we reset the CPSR to the SPSR that we check if we get tossed into Thumb
|
2013-04-19 21:26:00 -07:00 |
Jeffrey Pfau
|
633a87269a
|
Initialize cpu->privilegeMode
|
2013-04-19 21:09:00 -07:00 |
Jeffrey Pfau
|
aa7ef287bc
|
Squelch HLE BIOS warnings
|
2013-04-19 21:04:53 -07:00 |
Jeffrey Pfau
|
283a48613b
|
Read/write REG_IF
|
2013-04-19 00:05:13 -07:00 |
Jeffrey Pfau
|
9b1f3c3c73
|
Init GBA I/O registers
|
2013-04-19 00:04:50 -07:00 |
Jeffrey Pfau
|
0ba7451e3a
|
Install SIGINT signal handler for debugger
|
2013-04-18 01:52:46 -07:00 |
Jeffrey Pfau
|
0b468a9db8
|
Null-check that DebugVectors get generated
|
2013-04-18 01:39:51 -07:00 |
Jeffrey Pfau
|
5f1f6088bd
|
Implement MUL
|
2013-04-18 01:35:48 -07:00 |
Jeffrey Pfau
|
783b2a3e09
|
Implement ADD(5)
|
2013-04-18 01:24:46 -07:00 |
Jeffrey Pfau
|
422961a2df
|
8-bit I/O reads
|
2013-04-18 01:19:57 -07:00 |
Jeffrey Pfau
|
97b669e4d1
|
Store vcount back in IO
|
2013-04-18 01:19:41 -07:00 |
Jeffrey Pfau
|
0048de2108
|
Fix addressing mode 3 immediate
|
2013-04-18 01:06:19 -07:00 |
Jeffrey Pfau
|
b5cbd55718
|
Read back I/O memory when reading 32-bit
|
2013-04-18 00:58:42 -07:00 |
Jeffrey Pfau
|
1e1c8fd2dd
|
Ensure that DMAs read back from I/O memory properly
|
2013-04-18 00:58:22 -07:00 |
Jeffrey Pfau
|
4f8c288f20
|
Ensure cpsr.t reads back out properly
|
2013-04-18 00:19:41 -07:00 |
Jeffrey Pfau
|
ed48ab1c64
|
Fix storing SPSR
|
2013-04-18 00:15:45 -07:00 |
Jeffrey Pfau
|
062e09ccf5
|
Implement MSRI
|
2013-04-18 00:09:28 -07:00 |
Jeffrey Pfau
|
fdf36f5820
|
Implement MRS
|
2013-04-18 00:06:48 -07:00 |
Jeffrey Pfau
|
b3832205fc
|
Fix some MRS/MSR encoding problems
|
2013-04-18 00:03:39 -07:00 |
Jeffrey Pfau
|
6608ae282c
|
Ensure loads to PC work
|
2013-04-17 23:54:31 -07:00 |
Jeffrey Pfau
|
cb03781a5b
|
Implement LDM, STM
|
2013-04-17 23:44:35 -07:00 |
Jeffrey Pfau
|
dd479ad907
|
Now include source for HLE BIOS, even without assembler script
|
2013-04-17 00:46:32 -07:00 |
Jeffrey Pfau
|
54fffb7fff
|
Add HLE BIOS from GBA.js
|
2013-04-17 00:45:23 -07:00 |
Jeffrey Pfau
|
38b1c8d235
|
Make sure CPSR is updated for IRQ mode properly
|
2013-04-17 00:29:20 -07:00 |
Jeffrey Pfau
|
f30b367c7e
|
Make sure to rewrite active region data when jumping to IRQ handler
|
2013-04-17 00:24:00 -07:00 |
Jeffrey Pfau
|
45fcd0fcb5
|
Implement FastCpuSet
|
2013-04-16 23:52:53 -07:00 |
Jeffrey Pfau
|
c143dec77d
|
Fix ADD(4) and MOV(3)
|
2013-04-16 23:52:30 -07:00 |
Jeffrey Pfau
|
4b4914afb6
|
Implement MUL
|
2013-04-16 23:26:49 -07:00 |
Jeffrey Pfau
|
6b07dd33af
|
Implement ASR(1)
|
2013-04-16 23:24:19 -07:00 |
Jeffrey Pfau
|
8c03c20019
|
Implement HALT
|
2013-04-16 23:14:16 -07:00 |
Jeffrey Pfau
|
e88d177582
|
Copy GBA.js DMA implementation
|
2013-04-16 23:13:52 -07:00 |
Jeffrey Pfau
|
20622b6135
|
Copy some IRQ infrastructure from GBA.js
|
2013-04-16 19:44:16 -07:00 |
Jeffrey Pfau
|
bc9d0690bb
|
Clean up extra backslashes
|
2013-04-16 19:29:00 -07:00 |
Jeffrey Pfau
|
2d0c3bf275
|
Implement IRQs
|
2013-04-16 07:50:34 -07:00 |
Jeffrey Pfau
|
2da11dd523
|
Continue implementing IRQs
|
2013-04-16 07:42:20 -07:00 |
Jeffrey Pfau
|
4dd98f4c25
|
Remove typo struct member
|
2013-04-16 07:20:28 -07:00 |
Jeffrey Pfau
|
9ac6f6d3bf
|
Start implementing IRQ
|
2013-04-16 07:18:25 -07:00 |
Jeffrey Pfau
|
7de2c91efb
|
Copy DISPSTAT implementation from GBA.js
|
2013-04-16 07:10:38 -07:00 |
Jeffrey Pfau
|
e874266343
|
Initialize video->eventDiff
|
2013-04-15 23:15:02 -07:00 |
Jeffrey Pfau
|
2fe2c80ae5
|
Add dummy renderer + frame counting infrastructure from GBA.js
|
2013-04-15 23:01:40 -07:00 |
Jeffrey Pfau
|
9b5d5d6478
|
Start implementing events + add video stubs
|
2013-04-15 22:18:28 -07:00 |
Jeffrey Pfau
|
1838cc0597
|
Implement waitstate adjusting
|
2013-04-15 01:10:53 -07:00 |
Jeffrey Pfau
|
fe5a8d6254
|
Add function for loading from I/O
|
2013-04-14 23:30:11 -07:00 |
Jeffrey Pfau
|
ecc4775c31
|
Start implementing instruction timing
|
2013-04-14 23:12:03 -07:00 |
Jeffrey Pfau
|
fa64310e83
|
Fix SWI32
|
2013-04-14 13:46:48 -07:00 |
Jeffrey Pfau
|
4e66d7f832
|
Implement CpuSet
|
2013-04-14 13:36:32 -07:00 |
Jeffrey Pfau
|
90e2443ccd
|
Split gba.c
|
2013-04-14 13:24:55 -07:00 |
Jeffrey Pfau
|
1ca6487151
|
Create subdirs
|
2013-04-14 13:04:24 -07:00 |
Jeffrey Pfau
|
7c5a6b121c
|
Implement SWI
|
2013-04-14 11:57:39 -07:00 |
Jeffrey Pfau
|
475af6fde2
|
Squelch some warnings
|
2013-04-14 04:22:53 -07:00 |
Jeffrey Pfau
|
201d34a4d7
|
Stub out I/O
|
2013-04-14 04:21:33 -07:00 |
Jeffrey Pfau
|
2cb00fe065
|
Move GBA load/stores internal to gba.c
|
2013-04-14 04:08:06 -07:00 |
Jeffrey Pfau
|
1d445958c9
|
Initialize breakpoints
|
2013-04-14 03:49:48 -07:00 |
Jeffrey Pfau
|
82a4fa094b
|
Initialize debugger->lastCommand
|
2013-04-14 03:47:11 -07:00 |
Jeffrey Pfau
|
cd75d3b399
|
Implement LDR[S]B/LDR[S]H (2)
|
2013-04-14 03:38:09 -07:00 |
Jeffrey Pfau
|
9cd468794e
|
Implement BIC
|
2013-04-14 03:31:35 -07:00 |
Jeffrey Pfau
|
288eba1f80
|
Fix POP {pc}
|
2013-04-14 03:28:58 -07:00 |
Jeffrey Pfau
|
3b3b6e0546
|
Implement MVN
|
2013-04-14 03:26:04 -07:00 |
Jeffrey Pfau
|
3121ed0bb6
|
Fix BX
|
2013-04-14 03:23:37 -07:00 |
Jeffrey Pfau
|
8eb8cdfad8
|
Implement SUB(1)
|
2013-04-14 03:15:21 -07:00 |
Jeffrey Pfau
|
18b1fd490f
|
Implement SUB(3)
|
2013-04-14 03:13:06 -07:00 |
Jeffrey Pfau
|
280fc18cff
|
Implement LDRB(1)
|
2013-04-14 03:10:25 -07:00 |
Jeffrey Pfau
|
ee5375a8ff
|
Implement CMP(2)
|
2013-04-14 03:08:07 -07:00 |
Jeffrey Pfau
|
b541b99d0c
|
Implement NEG
|
2013-04-14 03:06:11 -07:00 |
Jeffrey Pfau
|
53212baee5
|
Implement SUB(2)
|
2013-04-14 03:05:12 -07:00 |
Jeffrey Pfau
|
5be88fe123
|
Implement LDRH(1)
|
2013-04-14 03:00:06 -07:00 |
Jeffrey Pfau
|
ce593c4bfa
|
Implement STRB(1)
|
2013-04-14 02:58:05 -07:00 |
Jeffrey Pfau
|
7c8d76eb06
|
Implement BX
|
2013-04-14 02:55:12 -07:00 |
Jeffrey Pfau
|
d7ff6aa14b
|
Add missing field for breakpoints
|
2013-04-14 02:54:58 -07:00 |
Jeffrey Pfau
|
81909bed56
|
Fix indentation of LSR(2)/ASR(2)
|
2013-04-14 02:51:21 -07:00 |
Jeffrey Pfau
|
97ce972b2a
|
Implement LSR(2)
|
2013-04-14 02:49:07 -07:00 |
Jeffrey Pfau
|
76a85c763c
|
Rudimentary breakpoints
|
2013-04-14 02:42:09 -07:00 |
Jeffrey Pfau
|
baad7b50bd
|
Add n command, and command repetition
|
2013-04-13 14:06:57 -07:00 |
Jeffrey Pfau
|
4df2d6de8f
|
Pause on stub opcodes
|
2013-04-13 13:56:29 -07:00 |
Jeffrey Pfau
|
e5379c99e0
|
Add ability to run code indefinitely (or at least until we crash)
|
2013-04-13 13:50:41 -07:00 |
Jeffrey Pfau
|
dbe9796b34
|
Implement B
|
2013-04-13 12:38:47 -07:00 |
Jeffrey Pfau
|
abd522a2ce
|
Implement ADD(4)
|
2013-04-13 12:32:15 -07:00 |
Jeffrey Pfau
|
bc4924cef5
|
Implement CMP(3)
|
2013-04-13 12:28:24 -07:00 |
Jeffrey Pfau
|
aa14ed441c
|
Implement AND, EOR and ORR
|
2013-04-13 01:50:21 -07:00 |
Jeffrey Pfau
|
75fdcd6750
|
Add missing CPSR update for ASR(2)
|
2013-04-13 01:48:00 -07:00 |
Jeffrey Pfau
|
c51ad65cac
|
Implement ASR(2)
|
2013-04-13 01:42:34 -07:00 |
Jeffrey Pfau
|
5094b7717a
|
Add memory reading commands to debugger
|
2013-04-13 01:36:01 -07:00 |
Jeffrey Pfau
|
5465543acc
|
Properly recognize syntax errors
|
2013-04-13 01:27:05 -07:00 |
Jeffrey Pfau
|
0180ee090e
|
Print hex
|
2013-04-13 01:25:21 -07:00 |
Jeffrey Pfau
|
f715534083
|
Begin command line parsing
|
2013-04-13 01:23:41 -07:00 |
Jeffrey Pfau
|
10884de57a
|
Add ability to print current instruction
|
2013-04-13 00:22:27 -07:00 |
Jeffrey Pfau
|
67750e351b
|
Fix sign-extension on BL1
|
2013-04-12 22:59:19 -07:00 |
Jeffrey Pfau
|
eed0e77079
|
Implement B(1)
|
2013-04-12 22:58:50 -07:00 |
Jeffrey Pfau
|
be8849d7fe
|
Implement CMP(1)
|
2013-04-12 22:44:51 -07:00 |
Jeffrey Pfau
|
3a097dca96
|
Implement ADD(3), refactor other ADDs
|
2013-04-12 22:34:44 -07:00 |
Jeffrey Pfau
|
36670b3fa2
|
Implement LSR(1) and reindent LSL(1)
|
2013-04-12 22:24:35 -07:00 |
Jeffrey Pfau
|
9ca65038ed
|
Implement LDR(4)
|
2013-04-12 22:18:46 -07:00 |
Jeffrey Pfau
|
9f77c32375
|
Implement ADD(1)
|
2013-04-12 22:17:37 -07:00 |
Jeffrey Pfau
|
d7ddbee448
|
Fix BL(1)
|
2013-04-12 22:14:01 -07:00 |
Jeffrey Pfau
|
f86fb9dc74
|
Implement LDR(1)
|
2013-04-12 22:06:17 -07:00 |
Jeffrey Pfau
|
33fc9587cc
|
Implement STR(1)
|
2013-04-12 21:57:50 -07:00 |
Jeffrey Pfau
|
c8f85a657e
|
Implement STR(3)
|
2013-04-12 21:48:30 -07:00 |
Jeffrey Pfau
|
3e57e46046
|
Implement ADD(2)
|
2013-04-12 21:48:19 -07:00 |
Jeffrey Pfau
|
b5182915d7
|
Command to break into attached debugger
|
2013-04-12 21:27:43 -07:00 |
Jeffrey Pfau
|
a7bc99c846
|
Implement LDR(3)
|
2013-04-12 20:09:27 -07:00 |
Jeffrey Pfau
|
57f2cccacf
|
Implement STRH(1)
|
2013-04-12 20:06:58 -07:00 |
Jeffrey Pfau
|
21ee7946f1
|
Implement LSL(1)
|
2013-04-12 20:00:14 -07:00 |
Jeffrey Pfau
|
71c68fe79f
|
Implement ADD(6)
|
2013-04-12 19:59:55 -07:00 |
Jeffrey Pfau
|
21df1c48c2
|
Implement MOV(1)
|
2013-04-12 02:44:04 -07:00 |
Jeffrey Pfau
|
9ab3b0c20a
|
Implement ADD(7)/SUB(4)
|
2013-04-12 02:22:37 -07:00 |
Jeffrey Pfau
|
1ac7f0eb15
|
Implement MOV(3)
|
2013-04-12 02:15:47 -07:00 |
Jeffrey Pfau
|
37ce1383fc
|
Set bits in MSR properly
|
2013-04-12 02:10:09 -07:00 |
Jeffrey Pfau
|
6097890251
|
Print proper register
|
2013-04-12 02:04:51 -07:00 |
Jeffrey Pfau
|
688af6cdee
|
Add some basic input to the debugger
|
2013-04-12 02:03:11 -07:00 |
Jeffrey Pfau
|
1db7f5b179
|
Initial debugger
|
2013-04-12 01:32:43 -07:00 |
Jeffrey Pfau
|
b07e052698
|
Move CMakeList
|
2013-04-11 23:58:13 -07:00 |
Jeffrey Pfau
|
d90d7d1899
|
Implement BL
|
2013-04-11 03:14:09 -07:00 |
Jeffrey Pfau
|
133d574667
|
Implement LDMIA/STMIA/PUSH/POP
|
2013-04-11 03:01:07 -07:00 |
Jeffrey Pfau
|
1616ec83a2
|
Stub out incomplete addressing mode 1 opcodes
|
2013-04-11 02:13:35 -07:00 |
Jeffrey Pfau
|
4fbed66bdb
|
Start fleshing out addressing mode 1
|
2013-04-11 01:32:30 -07:00 |
Jeffrey Pfau
|
d278429b43
|
Implement BX
|
2013-04-11 00:14:12 -07:00 |
Jeffrey Pfau
|
a511df7920
|
Put stub definitions in all of Thumb
|
2013-04-10 23:38:18 -07:00 |
Jeffrey Pfau
|
7e5de27f43
|
Add ability to run Thumb code
|
2013-04-10 23:34:50 -07:00 |
Jeffrey Pfau
|
9a0d14645b
|
Log stubs
|
2013-04-10 22:52:46 -07:00 |
Jeffrey Pfau
|
9a7f0f4a74
|
Stub out BL, finishing Thumb table
|
2013-04-10 21:11:05 -07:00 |
Jeffrey Pfau
|
87863ad97a
|
Stub out B
|
2013-04-10 21:09:22 -07:00 |
Jeffrey Pfau
|
cbc17ad77e
|
Stub out SWI
|
2013-04-10 21:05:19 -07:00 |
Jeffrey Pfau
|
e89f49459a
|
Stub out conditional branches
|
2013-04-10 21:04:41 -07:00 |
Jeffrey Pfau
|
d5adcac319
|
Stub out LDMIA/STMIA
|
2013-04-10 20:58:05 -07:00 |
Jeffrey Pfau
|
0db11ec6bb
|
Stub out BKPT (not in ARMv4T, but still useful)
|
2013-04-10 20:50:56 -07:00 |
Jeffrey Pfau
|
5e78400a25
|
Stub out POP/PUSH
|
2013-04-10 00:00:24 -07:00 |
Jeffrey Pfau
|
99d0b76f3b
|
Stub out ADD7 and SUB4
|
2013-04-09 23:47:37 -07:00 |
Jeffrey Pfau
|
08065d865d
|
Stub out ADD from PC and SP
|
2013-04-09 23:45:08 -07:00 |
Jeffrey Pfau
|
28ecc97671
|
Stub out LDR/STR from SP
|
2013-04-09 23:37:28 -07:00 |
Jeffrey Pfau
|
e3818cf7b6
|
Stub out more load/stores with immediates
|
2013-04-09 23:34:25 -07:00 |
Jeffrey Pfau
|
39c776eb37
|
Stub out more load/store format 2
|
2013-04-09 23:27:37 -07:00 |
Jeffrey Pfau
|
5165e0131e
|
Put in missing BX
|
2013-04-09 23:16:30 -07:00 |
Jeffrey Pfau
|
f42c8d111e
|
Stub out STR2
|
2013-04-09 23:00:31 -07:00 |
Jeffrey Pfau
|
11de611fd2
|
Stub out LDR3
|
2013-04-09 22:57:24 -07:00 |
Jeffrey Pfau
|
5e18eabd04
|
Stub out format 8
|
2013-04-09 22:51:21 -07:00 |
Jeffrey Pfau
|
be021605bc
|
Define data format 5
|
2013-04-09 22:35:51 -07:00 |
Jeffrey Pfau
|
e577df2142
|
Fix data format 3
|
2013-04-09 22:35:38 -07:00 |
Jeffrey Pfau
|
d3abd2dc63
|
Minor ROM access optimization
|
2013-04-09 22:20:35 -07:00 |
Jeffrey Pfau
|
027e27caa4
|
Add data form 3
|
2013-04-09 04:20:14 -07:00 |
Jeffrey Pfau
|
56c3685ba6
|
ADD/SUB 1 stubs
|
2013-04-09 03:20:32 -07:00 |
Jeffrey Pfau
|
2618c39a5d
|
Macro-insanity for Thumb
|
2013-04-09 03:15:50 -07:00 |
Jeffrey Pfau
|
76dbfce3c3
|
Start filling in THUMB table with insane preprocessor tricks
|
2013-04-09 02:57:24 -07:00 |
Jeffrey Pfau
|
70eb3634a0
|
Fix warnings + LDR[B]T/STR[B]T
|
2013-04-08 03:14:18 -07:00 |
Jeffrey Pfau
|
9a1fb100c7
|
Load/store working RAM
|
2013-04-08 03:13:37 -07:00 |
Jeffrey Pfau
|
93a2f16066
|
Loading 8/16 bits from ROM
|
2013-04-08 02:13:40 -07:00 |
Jeffrey Pfau
|
67c00f378a
|
Ensure CPSR privilege gets updated in MSR
|
2013-04-08 00:21:28 -07:00 |
Jeffrey Pfau
|
37ad6218da
|
Don't double-execute AL instructions
|
2013-04-08 00:17:54 -07:00 |
Jeffrey Pfau
|
4f3e77c87e
|
Implement MSR
|
2013-04-08 00:15:16 -07:00 |
Jeffrey Pfau
|
4bba75dd0a
|
Separate out ISA files
|
2013-04-07 21:15:32 -07:00 |
Jeffrey Pfau
|
b02fdd3dda
|
Remove inline conditions and add ARM specialization
|
2013-04-07 20:37:48 -07:00 |
Jeffrey Pfau
|
186068adfe
|
Start filling in ARMBoard
|
2013-04-07 13:25:45 -07:00 |
Jeffrey Pfau
|
120b85713d
|
Mode switching
|
2013-04-07 02:36:41 -07:00 |
Jeffrey Pfau
|
bda71cafc2
|
ALU instructions can write to PC
|
2013-04-07 02:01:14 -07:00 |
Jeffrey Pfau
|
6e3a9a9508
|
Fix writing to PC
|
2013-04-07 01:57:04 -07:00 |
Jeffrey Pfau
|
68f2eed84d
|
Mini-test
|
2013-04-07 01:39:49 -07:00 |
Jeffrey Pfau
|
9575e7f0d2
|
Fix B
|
2013-04-07 01:39:08 -07:00 |
Jeffrey Pfau
|
0e2394e7d5
|
De-inline ARMStep
|
2013-04-07 01:46:48 -07:00 |
Jeffrey Pfau
|
b23f1ee3e3
|
GBA ROM loading
|
2013-04-07 01:46:28 -07:00 |
Jeffrey Pfau
|
340d3ce6a7
|
Implement B
|
2013-04-06 20:16:14 -07:00 |
Jeffrey Pfau
|
5c7b4a98c6
|
Load from ARM table now that we have one
|
2013-04-06 20:06:51 -07:00 |
Jeffrey Pfau
|
6bd7a5ee53
|
Fill remainder of table
|
2013-04-06 20:01:32 -07:00 |
Jeffrey Pfau
|
7a0fb72e7e
|
Stub out SWI
|
2013-04-06 19:58:01 -07:00 |
Jeffrey Pfau
|
d620357ac8
|
Stub out coprocessor
|
2013-04-06 19:52:45 -07:00 |
Jeffrey Pfau
|
5dd2379dd5
|
Cleanup
|
2013-04-06 19:38:14 -07:00 |
Jeffrey Pfau
|
f2a1257fbb
|
Stub out branch instructions
|
2013-04-06 19:22:14 -07:00 |
Jeffrey Pfau
|
1858dfeb1c
|
Stub out LDM/STM
|
2013-04-06 18:44:52 -07:00 |
Jeffrey Pfau
|
7b82cc0040
|
Fill in LDR/STR block
|
2013-04-06 13:05:53 -07:00 |
Jeffrey Pfau
|
befba57fe6
|
Simple error checking
|
2013-04-06 04:34:19 -07:00 |
Jeffrey Pfau
|
9efc945f1b
|
Add store callbacks
|
2013-04-06 04:20:44 -07:00 |
Jeffrey Pfau
|
96da9c7ef1
|
Partially implement LDR/STR and friends
|
2013-04-06 04:16:34 -07:00 |
Jeffrey Pfau
|
92e74a78e1
|
Apparently I can't count to 8
|
2013-04-06 02:49:54 -07:00 |
Jeffrey Pfau
|
cb2469c4f4
|
Filler for more instructions
|
2013-04-06 00:32:01 -07:00 |
Jeffrey Pfau
|
a01fc986a3
|
Begin GBA structure
|
2013-04-05 02:17:22 -07:00 |
Jeffrey Pfau
|
cd07dee7b1
|
Implement immediate shifter
|
2013-04-05 00:44:53 -07:00 |
Jeffrey Pfau
|
c07df4a337
|
Fill in immediates
|
2013-04-04 03:12:22 -07:00 |
Jeffrey Pfau
|
63f6f53a80
|
Implement BIC, MOV, MVN, ORR
|
2013-04-04 02:42:17 -07:00 |
Jeffrey Pfau
|
dbee1e871e
|
Add stubs, including for illegal instructions
|
2013-04-04 02:36:53 -07:00 |
Jeffrey Pfau
|
e093960316
|
Fill in more opcodes, implement CMN, CMP, TEQ, TST
|
2013-04-04 02:31:32 -07:00 |
Jeffrey Pfau
|
fd4ee12eb5
|
Implement ADD, ADC, RSB, RSC, SUB
|
2013-04-04 02:04:51 -07:00 |
Jeffrey Pfau
|
c1a8042db4
|
Fill in more opcodes, implement EOR
|
2013-04-04 01:27:51 -07:00 |
Jeffrey Pfau
|
4025bf89f2
|
Add boilerplate for instructions
|
2013-04-04 00:46:50 -07:00 |
Jeffrey Pfau
|
bf72532715
|
Add more framework for loading instructions
|
2013-04-03 22:34:49 -07:00 |
Jeffrey Pfau
|
009bef870c
|
Initial commit
|
2013-04-03 22:12:15 -07:00 |