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 |
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 |