Commit graph

  • e6eea94626 Revert "Move halting code out from below the ARM emulator" Jeffrey Pfau 2013-11-14 23:16:34 -08:00
  • 0bc5c4a69e Fix color blending in 16-bit 5-5-5 mode Jeffrey Pfau 2013-11-14 23:09:13 -08:00
  • 55c6103116 Remove "finalized" flag in favor of stricter sorting Jeffrey Pfau 2013-11-13 01:20:38 -08:00
  • a2a306bb03 Significantly optimize 16-bit color mixing Jeffrey Pfau 2013-11-14 00:19:18 -08:00
  • 620adbd577 Remove extra free in SDL code Jeffrey Pfau 2013-11-11 19:40:37 -08:00
  • f8d5842240 Implement mosaic for mode 0 with 256-color tiles Jeffrey Pfau 2013-11-10 23:09:50 -08:00
  • c2658ce7a1 Initialize mosaic to 0 Jeffrey Pfau 2013-11-10 22:53:12 -08:00
  • 7d526e97f4 Support narrow windows Jeffrey Pfau 2013-11-10 22:43:57 -08:00
  • 53dd260b3e Fast 32-to-16-bit memory conversion routine on ARM Jeffrey Pfau 2013-11-07 23:53:16 -08:00
  • 95b6cc9b00 Initialize halted Jeffrey Pfau 2013-11-09 13:29:08 -08:00
  • f43c82e79e Preprocess instead of post-process 5-6-5 color Jeffrey Pfau 2013-11-07 02:57:09 -08:00
  • f09e44062f Use gettimeofday for perf-main instead of clock_gettime Jeffrey Pfau 2013-11-06 22:20:29 -08:00
  • 2a683aaf99 Preselect palettes for sprites Jeffrey Pfau 2013-11-05 23:17:03 -08:00
  • fd6e9cb311 Use unsigned instead of uint16_t in sprite drawing Jeffrey Pfau 2013-11-05 23:13:37 -08:00
  • e3dac089e7 Small refactor of _composite Jeffrey Pfau 2013-11-05 21:57:24 -08:00
  • 818ce96d0d Fix mixing colors on 16-bit Jeffrey Pfau 2013-11-05 04:13:49 -08:00
  • 9253eeba23 Optimize range check in mode 2 rendering Jeffrey Pfau 2013-11-05 01:21:13 -08:00
  • 53515b41cd Fix warnings in CircleBuffer Jeffrey Pfau 2013-11-05 00:44:11 -08:00
  • 2c826e208c Optimize palette access Jeffrey Pfau 2013-11-04 22:43:20 -08:00
  • 7d688ceb5a Use unsigned instead of color_t where size is irrelevant Jeffrey Pfau 2013-11-04 21:25:08 -08:00
  • 3005c6c9fb Add per-second perf updating Jeffrey Pfau 2013-11-04 21:07:41 -08:00
  • 3b74b61862 Move halting code out from below the ARM emulator Jeffrey Pfau 2013-11-03 23:25:57 -08:00
  • 66ee98513f Pass pointers instead of offsets to composite Jeffrey Pfau 2013-11-03 00:54:02 -07:00
  • 32e0591fd0 Early finalization if possible Jeffrey Pfau 2013-11-02 22:11:36 -07:00
  • 53a52d8cf8 Call setActiveRegion with the right address Jeffrey Pfau 2013-11-02 03:56:13 -07:00
  • e0eefa24da Hack to guess when blending should be disabled Jeffrey Pfau 2013-11-01 23:39:26 -07:00
  • a87d30ed9f Fix channel 1 - 4 volume Jeffrey Pfau 2013-10-29 21:12:26 -07:00
  • 9fd181dba9 Fix potential issues with sound playing when they shouldn't, or with the wrong volume Jeffrey Pfau 2013-10-29 02:19:58 -07:00
  • 8902635e3a Fix bugs in OBJ mosaic Jeffrey Pfau 2013-10-27 21:58:37 -07:00
  • 09888a8852 Add performance-monitoring main thread Jeffrey Pfau 2013-10-27 05:15:42 -07:00
  • f5a3fd7c7f Rearrange _composite to optimize for common cases first Jeffrey Pfau 2013-10-26 16:43:11 -07:00
  • 6e40c7ec29 Replace bit-packed map data with flags Jeffrey Pfau 2013-10-25 23:33:22 -07:00
  • 7cb183a8be Only update active region if necessary Jeffrey Pfau 2013-10-27 03:44:38 -07:00
  • 775f9db546 Begin OBJ mosaic Jeffrey Pfau 2013-10-27 03:12:55 -07:00
  • 3b0ee473d3 Refactor sprite code in preparation of implementing OBJ mosaic Jeffrey Pfau 2013-10-27 02:39:14 -07:00
  • 72ef1643c7 Rotate 16-bit without using AND Jeffrey Pfau 2013-10-26 16:40:31 -07:00
  • 0155d9c028 Remove SPRITE_DRAW_PIXEL_*_VARIANT Jeffrey Pfau 2013-10-26 14:56:35 -07:00
  • ffef3d2486 Preemptively mark the envelope as dead in some cases Jeffrey Pfau 2013-10-26 04:23:08 -07:00
  • 70365782de Reorganize audio code so as to only update channels when audible Jeffrey Pfau 2013-10-26 04:08:18 -07:00
  • cd448324c5 Fixed the first load from SRAM not returning a value Jeffrey Pfau 2013-10-26 03:04:21 -07:00
  • 9c922862e8 Fix mode 3 in 16-bit color Jeffrey Pfau 2013-10-26 02:39:45 -07:00
  • 7f17be5ead Support WIN0/1 in modes 2 - 5 Jeffrey Pfau 2013-10-26 02:33:29 -07:00
  • 6376a1ff7f Support OBJWIN in mode 4 Jeffrey Pfau 2013-10-26 02:26:08 -07:00
  • 38116f0ead Rearrange calculation to shave off some more time Jeffrey Pfau 2013-10-26 01:30:31 -07:00
  • 71b5473563 Fix white on 5-6-5 color Jeffrey Pfau 2013-10-26 01:32:27 -07:00
  • 915b04dded Add support for PowerPC to the memory and CPU interfaces Jeffrey Pfau 2013-10-26 01:53:13 -04:00
  • 07115ca655 Ensure thread-local storage is created before it is needed Jeffrey Pfau 2013-10-25 03:15:31 -07:00
  • d5291eb1b6 Remove unnecessary sprite post-processing passes Jeffrey Pfau 2013-10-25 00:27:42 -07:00
  • c12eca835f Don't busy-wait if the emulator is paused Jeffrey Pfau 2013-10-24 01:09:01 -07:00
  • 17ccb35c33 Small, trivial optimizations in GBAVideoSoftwareRendererDrawScanline Jeffrey Pfau 2013-10-24 00:54:51 -07:00
  • 6eafbc6331 Tear out counter-productive optimization Jeffrey Pfau 2013-10-24 00:21:59 -07:00
  • 4b9e9f84be Start implementing mosaic with a half-baked mode 0 implementation Jeffrey Pfau 2013-10-23 01:17:53 -07:00
  • 9358cbd690 Initialize rumble callback to null Jeffrey Pfau 2013-10-22 00:26:09 -07:00
  • 709434ce9f Add Drill Dozer to the override list Jeffrey Pfau 2013-10-22 00:18:56 -07:00
  • e74b0125a7 Expose rumble Jeffrey Pfau 2013-10-21 21:50:29 -07:00
  • 2fde9738be Add more overrides Jeffrey Pfau 2013-10-21 21:42:28 -07:00
  • 0458184a5e Implement gyro Jeffrey Pfau 2013-10-21 02:54:52 -07:00
  • c77ed8c11e Only reset save type manually for flash Jeffrey Pfau 2013-10-21 01:28:41 -07:00
  • fcaa0eb066 Implement RTC Jeffrey Pfau 2013-10-20 21:39:47 -07:00
  • 7e5eada69b Mark more registers as safe to read Jeffrey Pfau 2013-10-20 18:14:04 -07:00
  • ddc1034d42 Start GPIO Jeffrey Pfau 2013-10-20 18:08:18 -07:00
  • 228b6aaa01 Remove obsolete errno interface Jeffrey Pfau 2013-10-20 16:48:29 -07:00
  • 4429435071 Implement sound length Jeffrey Pfau 2013-10-20 16:33:37 -07:00
  • d6e466dda1 Fix pitch of channel 3 Jeffrey Pfau 2013-10-20 16:04:22 -07:00
  • 76266a4ee7 Move mode 0 loops out of macros Jeffrey Pfau 2013-10-20 12:36:57 -07:00
  • 76f02be757 Ability to disable sound Jeffrey Pfau 2013-10-20 02:18:09 -07:00
  • ca80e5f32b Add l/r channel scaling Jeffrey Pfau 2013-10-20 01:58:52 -07:00
  • cc8eeb4353 Start audio channel 3 Jeffrey Pfau 2013-10-19 03:04:45 -07:00
  • cfb0115c0e Commit unreadable sound memory for the sake of bitewise assignment Jeffrey Pfau 2013-10-19 00:49:20 -07:00
  • 4a0a462673 Clean up channel 1 Jeffrey Pfau 2013-10-19 00:48:57 -07:00
  • 003a537dc7 Implement most of channels 1 and 2 Jeffrey Pfau 2013-10-18 23:12:14 -07:00
  • 79d483d002 Fix audio loudness issues Jeffrey Pfau 2013-10-18 19:44:55 -07:00
  • 04f99bd358 Prescale audio Jeffrey Pfau 2013-10-18 09:41:13 -07:00
  • 565ee43bb2 Fix video cycle timing to match audio timing fix Jeffrey Pfau 2013-10-18 09:41:01 -07:00
  • 093c86c943 Add channel 4 envelope, fix audio timing Jeffrey Pfau 2013-10-18 09:33:07 -07:00
  • a55b4dc87f Fix valgrind-found uninitialized values Jeffrey Pfau 2013-10-18 08:42:15 -07:00
  • 3acabb01c8 Conglomerate save data initialization to ensure the struct is always initialized Jeffrey Pfau 2013-10-18 08:36:05 -07:00
  • d99bf7fdff Rename GBAAudioWave to GBAAudioEnvelope, add fields for internal state Jeffrey Pfau 2013-10-18 08:10:10 -07:00
  • 7393351e27 Start implementing channel 4 Jeffrey Pfau 2013-10-18 01:21:44 -07:00
  • eac9dfb325 Start filling in audio framework Jeffrey Pfau 2013-10-17 23:41:11 -07:00
  • ea41ef7ae6 Fix main thread stalling when starting a game Jeffrey Pfau 2013-10-17 23:10:16 -07:00
  • 62d941a979 Plumb through filename for checking overrides Jeffrey Pfau 2013-10-17 01:07:08 -07:00
  • 451c16f4cb Fix overwriting DISPSTAT with fixed values for the lower bits Jeffrey Pfau 2013-10-16 22:23:32 -07:00
  • 3edb2da58d Make platform directory for ports Jeffrey Pfau 2013-10-16 01:35:49 -07:00
  • a1fb90635f Functions for explicitly pausing and unpausing Jeffrey Pfau 2013-10-16 00:52:52 -07:00
  • a107243c7a Support pausing Jeffrey Pfau 2013-10-16 00:46:09 -07:00
  • 8e43ffed90 Adjust scaling/rotation state for backgrounds regardless of if they were actually drawn Jeffrey Pfau 2013-10-15 22:58:47 -07:00
  • f4a1e994d6 Mark BG*CNT registers as safe to read Jeffrey Pfau 2013-10-15 21:55:28 -07:00
  • 0120ea93a5 Sprites shouldn't be blended if the current window has blending disabled Jeffrey Pfau 2013-10-15 21:44:47 -07:00
  • ce33adf5e4 Don't wait on frame swap when we aren't doing frame synchronization in the first place Jeffrey Pfau 2013-10-15 02:34:37 -07:00
  • 1b5dd352af Sprites can only be color variants when they aren't forced semitransparent Jeffrey Pfau 2013-10-15 02:09:23 -07:00
  • 1b54f50daa Allow sprites to be ordered by priority in addition to OAM order Jeffrey Pfau 2013-10-15 01:45:49 -07:00
  • ee344f0dca Optimize and fix IntrWait, make sure that SVC doesn't trample its input register r0 Jeffrey Pfau 2013-10-15 00:50:07 -07:00
  • f90b01b95d Fix setting privilege mode when entering SVC Jeffrey Pfau 2013-10-14 22:32:52 -07:00
  • 9430040cb3 Check for some invalid memory regions before performing BIOS decompression routines Jeffrey Pfau 2013-10-13 20:12:30 -07:00
  • 67007ee002 Fix 8-bit VRAM writes Jeffrey Pfau 2013-10-13 15:23:39 -07:00
  • ee44e2ac89 Add Super Mario Bros. Advance 4 to the override list Jeffrey Pfau 2013-10-13 15:06:32 -07:00
  • 187687403c Fix EEPROM initialization Jeffrey Pfau 2013-10-13 12:14:32 -07:00
  • a20117ec14 Fix Huffman destinations Jeffrey Pfau 2013-10-13 12:14:16 -07:00
  • 9d08997fdc Fix Huffman with tree sizes >127 Jeffrey Pfau 2013-10-13 03:25:46 -07:00