Commit Graph

8638 Commits

Author SHA1 Message Date
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