Commit Graph

863 Commits

Author SHA1 Message Date
Jeffrey Pfau dedcaeb51d Core: Put back mute 2016-02-21 08:50:21 -08:00
Jeffrey Pfau cf27d88696 GB: Ending HDMAs should clear isHdma bit 2016-02-21 02:48:34 -08:00
Jeffrey Pfau dd39a0add4 GB: Fix running beyond the end of the video buffer 2016-02-21 02:23:40 -08:00
Jeffrey Pfau 3ead128a2d GB: Initialize some GBC registers 2016-02-21 02:22:41 -08:00
Jeffrey Pfau 90b18239b0 GB: Add Rumble 2016-02-20 18:46:39 -08:00
Jeffrey Pfau a260b4cf91 GB Memory: Clearing the HDMA bit disabled HDMA 2016-02-20 13:57:16 -08:00
Jeffrey Pfau 8071a52505 GB: Improve reset reliability 2016-02-19 22:59:36 -08:00
Jeffrey Pfau 0557caad98 GB Memory: Write back HDMA addresses when done 2016-02-19 22:07:08 -08:00
Jeffrey Pfau 9d4ffb3e43 GB IO: Read back current bank when switching banks 2016-02-19 22:06:52 -08:00
Jeffrey Pfau 733232be5a GB Video: Fix x-flip 2016-02-18 22:32:06 -08:00
Jeffrey Pfau 17264e2af9 GB: Initialize sync 2016-02-18 22:13:37 -08:00
Jeffrey Pfau dffb5eec30 GB: Rotation support 2016-02-18 21:54:06 -08:00
Jeffrey Pfau dc00c41855 GB Audio: Fix envelope volume problems 2016-02-18 21:52:08 -08:00
Jeffrey Pfau d86939b5b6 GB Memory: Support MBC7 2016-02-18 21:51:27 -08:00
Jeffrey Pfau 94e4980a55 GB: Initialize stream 2016-02-18 21:50:42 -08:00
Jeffrey Pfau a8beb9f5f3 GB: Clean up some warnings 2016-02-17 21:18:31 -08:00
Jeffrey Pfau 6eefdfff03 GB Video: Fix sprite rendering with BG priority 2016-02-17 20:53:32 -08:00
Jeffrey Pfau 215f7752f3 GB Memory: Fix MBC5 for large ROMs 2016-02-17 20:01:03 -08:00
Jeffrey Pfau 1898634857 GB Video: Fix off-by-one tiles 2016-02-17 20:00:41 -08:00
Jeffrey Pfau 526a9ce446 GB Video: Add HDMA 2016-02-17 20:00:23 -08:00
Jeffrey Pfau 371f6913e7 GB IO: Make palettes readable 2016-02-17 19:42:06 -08:00
Jeffrey Pfau 395f710805 GB Video: Optimize sprite rendering 2016-02-17 19:35:36 -08:00
Jeffrey Pfau 4e7f70c102 GB Video: Fix partial tile rendering in vram bank 2016-02-17 19:09:44 -08:00
Jeffrey Pfau 8608f11154 GB: Add double speed 2016-02-17 01:19:06 -08:00
Jeffrey Pfau fb0555e4fb GB Video: Support priority background attribute 2016-02-16 23:41:15 -08:00
Jeffrey Pfau 2266ecf86e GB IO: Fix edge cases for JOYP 2016-02-16 23:40:02 -08:00
Jeffrey Pfau f47b6881fc GB Video: Fix OBJ ordering mask 2016-02-16 23:22:40 -08:00
Jeffrey Pfau 9d209aa9bb GB Memory: Add GDMAs 2016-02-16 23:00:24 -08:00
Jeffrey Pfau d7d8dacaa8 Qt: Update ROMInfo dialog 2016-02-16 22:18:31 -08:00
Jeffrey Pfau ea67f6bc75 GB: Fix DMG palettes again 2016-02-16 00:36:50 -08:00
Jeffrey Pfau df619d4b56 GB Audio: Fix channel 1 shadow register 2016-02-16 00:23:45 -08:00
Jeffrey Pfau 965f274539 GB Video: Fix GBC background masking 2016-02-15 23:13:55 -08:00
Jeffrey Pfau f33a70a9dc Core: Allow changing video dimensions 2016-02-15 23:13:55 -08:00
Jeffrey Pfau aac1add766 GB Video: Support mAVStream.postVideoFrame 2016-02-15 23:13:55 -08:00
Jeffrey Pfau 245a13af63 GB: Start GBC support 2016-02-15 23:13:55 -08:00
Jeffrey Pfau 2eb5696ff7 GB Video: Fix writing to WY 2016-02-15 00:22:54 -08:00
Jeffrey Pfau d6a45781f0 GB Audio: length counters can be written when audio off 2016-02-14 23:55:21 -08:00
Jeffrey Pfau ecdcef283b GB Video: Improve palettes 2016-02-14 23:18:37 -08:00
Jeffrey Pfau b6fc26a7bf GB: Deinit sram 2016-02-14 23:10:51 -08:00
Jeffrey Pfau 85e789c3e9 GB Memory: Initialize sram 2016-02-14 23:07:44 -08:00
Jeffrey Pfau de065be15c GB: Add mAVStream 2016-02-14 22:50:08 -08:00
Jeffrey Pfau 9a023168f4 GB Software: More minor optimization 2016-02-14 20:26:02 -08:00
Jeffrey Pfau 8257c85c95 GB Software: Special case a fast draw path for backgrounds 2016-02-14 20:08:41 -08:00
Jeffrey Pfau cd0a352a33 3DS, Wii: GB support partially working 2016-02-14 19:02:45 -08:00
Jeffrey Pfau 8615defda7 Core: Fix frameskip 2016-02-14 17:37:53 -08:00
Jeffrey Pfau 47062deb9f Core: Initialize keys 2016-02-14 11:33:27 -08:00
Jeffrey Pfau 52152a3a12 GB Video: Fix window underflow 2016-02-14 11:26:54 -08:00
Jeffrey Pfau 2a7b268728 GB Video: Fix Windows 2016-02-14 11:15:30 -08:00
Jeffrey Pfau 4360e73d14 GB Audio: Fix mode 3 playback 2016-02-14 10:32:20 -08:00
Jeffrey Pfau 4fca30b73d GB Audio: Fix crashes when audio->p is not set (e.g. GBA mode) 2016-02-14 02:11:21 -08:00
Jeffrey Pfau ed94288902 GB Audio: Fix write behavior on channel 3 2016-02-14 01:22:03 -08:00
Jeffrey Pfau 94ff4f7c4e GB Video: Optimize renderer 2016-02-13 23:57:02 -08:00
Jeffrey Pfau e6e535e39a 3DS: Fix GB build 2016-02-13 20:49:54 -08:00
Jeffrey Pfau bbd0453c9c GB Audio: Minor channel 3 revamp 2016-02-13 19:37:34 -08:00
Jeffrey Pfau 47324f8701 GB Audio: Fix NR41 while disabled 2016-02-13 00:56:22 -08:00
Jeffrey Pfau 13e5ded34e GB Audio: Type cleanup 2016-02-13 00:55:50 -08:00
Jeffrey Pfau fb087688d7 GB Audio: Channel 3 cleanup 2016-02-13 00:55:23 -08:00
Jeffrey Pfau 74fc29fc68 GB Audio: Reduce redundant GB NR52 code 2016-02-11 22:45:49 -08:00
Jeffrey Pfau e97d36b7fc GB: More audio fixes 2016-02-11 00:42:52 -08:00
Jeffrey Pfau f1f9dee111 GB: Add back volume 2016-02-10 22:42:39 -08:00
Jeffrey Pfau 5bcf56c5ca Qt: GBA refactoring and cleanup 2016-02-10 22:42:39 -08:00
Jeffrey Pfau 13f1ab5ab8 Core: Put back fpsTarget 2016-02-10 22:42:39 -08:00
Jeffrey Pfau ce085623de GB: More audio fixes 2016-02-10 22:42:39 -08:00
Jeffrey Pfau dd2fd9351c GB Audio: Re-optimize a bit 2016-02-10 22:42:39 -08:00
Jeffrey Pfau 2af1bf68e0 Core: Add core.setAudioBufferSize 2016-02-10 22:42:39 -08:00
Jeffrey Pfau 73b58ec7c4 GB Core: Add dummied-out BIOS loader 2016-02-10 22:42:39 -08:00
Jeffrey Pfau 4f43b574e2 Qt: GB game loading 2016-02-10 22:40:54 -08:00
Jeffrey Pfau 53191d2068 Core: Add mCore.getGameTitle 2016-02-10 22:40:54 -08:00
Jeffrey Pfau fc905657ad Core: Minor preparatory work 2016-02-10 22:40:21 -08:00
Jeffrey Pfau fbfbbbf279 Core: Merge ARMComponent and LR35902Component 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 82c4d93dc4 Core: Add back screenshots 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 0d088f6e99 GB: Move DMG_LR35902_FREQUENCY for GBA build 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 1c6b98a2b4 GB Audio: More fixes 2016-02-10 22:40:21 -08:00
Jeffrey Pfau b782d902e6 GB Memory: Fix bank switching overflow case 2016-02-10 22:40:21 -08:00
Jeffrey Pfau c581764e23 GB Video: Fix strange window y behavior when paritally disabled 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 88c9462209 GB Video: Fix LYC for scanline 0 2016-02-10 22:40:21 -08:00
Jeffrey Pfau b752cec5cc GB Video: Fix LYC in VBlank 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 3ade5188db GB: Add patch support 2016-02-10 22:40:21 -08:00
Jeffrey Pfau a712216c2e GB Audio: Small audio fixes 2016-02-10 22:40:21 -08:00
Jeffrey Pfau d3fa698c81 GB Audio: Begin rewrite of frame counting 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 385059c63a GB IO: Fill in more registers 2016-02-10 22:40:21 -08:00
Jeffrey Pfau c60251de73 GB Video: Fix oam-bug 1 2016-02-10 22:40:21 -08:00
Jeffrey Pfau adc57d0da7 GB Audio: Miscellaneous fixes 2016-02-10 22:40:21 -08:00
Jeffrey Pfau c3c3bdc20c GB Audio: Fix wrong register being updated with playing state 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 770b80f2b2 GB: Actually fix EI this time 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 3863513b2a SDL: More video refactoring, fix scaling and aspect ratio locking 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 407335e2f4 Core: Refactor config loading in mCore 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 7bc15e50c5 Core: Add state manipulation back 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 33a4c45f3f GBA: Add GBACore 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 28268a601b Core: Add patch loading stub 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 38f89a1bd8 Core: Clean up ROM loading 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 44116c9beb GB Video: Remove unused functions 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 192f85259a Core: Add mCoreThread 2016-02-10 22:40:21 -08:00
Jeffrey Pfau cfd031f140 GB IO: Fix I/O category name in logs 2016-02-10 22:40:21 -08:00
Jeffrey Pfau a9ba3a2094 SDL: Refactor GBASDLEvents and GBASDLPlayer into mSDLEvents and mSDLPlayer 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 46590f98d8 Core: Add category names 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 92c6b90b03 GB: First pass at audio refactor 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 4edd7286f3 Core: Merge color_t definitions in 2016-02-10 22:40:21 -08:00
Jeffrey Pfau f5923c74a7 GB: MBC4 does not exist, but MBC6 does 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 041d1860ab GB: Add RTC support to MBC3 2016-02-10 22:40:21 -08:00
Jeffrey Pfau ed176177ce Core: Add mRTCGenericSource 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 2290dd6781 GB Video: Change to dot-based renderer 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 32f0bb9f1f GB Memory: Add SRAM bank switching to MBC5 2016-02-10 22:40:21 -08:00
Jeffrey Pfau a3d0b85d56 GB Video: OAM STAT can even happen in mode 1 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 2399219663 GB: Fix DIV reseting timing 2016-02-10 22:40:21 -08:00
Jeffrey Pfau d7d2a552d2 GB IO: Unstub SCY and SCX reads 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 3ec4c79e12 GB: Fix DIV reset 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 5d8f676bb0 GB Memory: Bypass GBStore8 for DMA 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 1589b26ade GB Video: Register LYC during Vblank 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 213ba29964 GB: Fix DI 2016-02-10 22:40:21 -08:00
Jeffrey Pfau dbdd61cdcd GB Memory: REALLY fix DMA timing this time 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 7c087d5cb9 Core: Start adding mCore 2016-02-10 22:40:21 -08:00
Jeffrey Pfau fc0109282b GB Video: Fix underflow 2016-02-10 22:40:21 -08:00
Jeffrey Pfau d456d6ff3c GB Memory: More logging 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 7540bd3513 GB IO: Unstub reading STAT 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 3c8cf83083 GB Video: Fix disabled Obj 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 2e77c45e06 GB Video: Fix WX 2016-02-10 22:40:21 -08:00
Jeffrey Pfau eee24961b1 GB: Partially fix timers 2016-02-10 22:40:21 -08:00
Jeffrey Pfau bac417d270 GB: Delay EI 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 81f8ad27d5 GB: CPU can still decode instructions during DMAs 2016-02-10 22:40:21 -08:00
Jeffrey Pfau c6a8cdbe73 GB: Fix uninitialized sramBank variable 2016-02-10 22:40:21 -08:00
Jeffrey Pfau d13e186f91 LR35902: Fill in illegal opcodes 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 20b2e8af7e GB: More logging 2016-02-10 22:40:21 -08:00
Jeffrey Pfau c9d0f651b6 LR35902: Fix IRQs and RST 2016-02-10 22:40:21 -08:00
Jeffrey Pfau b9a42cc5a9 GB: Clean up some unused stuff 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 5d7a43639b GB: Make sure save files are large enough 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 61e7cc9556 GB: Add basic logging support 2016-02-10 22:40:21 -08:00
Jeffrey Pfau eb19998e14 GB Video: Fix initialization 2016-02-10 22:40:21 -08:00
Jeffrey Pfau d3a204086d GB Video: Sprite enhancements 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 90d280026d GB Memory: Add MBC7 stubs 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 497fc2ade3 GB: Save support 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 862e41ad6b GB: Fix HALT 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 6fb8e296d4 GB Video: Fix sprite palettes 2016-02-10 22:40:21 -08:00
Jeffrey Pfau ff2641cbcc GB Video: Fix window y 2016-02-10 22:40:21 -08:00
Jeffrey Pfau e11f9224ff GB Memory: Fix DMA timing 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 47364e4769 GB Video: Implement LYC 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 8750f78808 GB: Implement sprites, SRAM 2016-02-10 22:40:21 -08:00
Jeffrey Pfau d2867c26a0 GB Memory: Implement DMA 2016-02-10 22:40:21 -08:00
Jeffrey Pfau c59bfd173d GB Video: Add window support 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 950ea997d3 GB IO: Mark some registers as transparently handled 2016-02-10 22:40:21 -08:00
Jeffrey Pfau a2e32b61c2 GB: Fix keys 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 06f47c8d2c GB Video: Add basic scrolling support 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 9de8576e71 GB Video: Draw top scanline 2016-02-10 22:40:21 -08:00
Jeffrey Pfau f8469822d7 GB: Fix div timer 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 9140018b85 GB IO: Speculative keypad fix 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 73e3532277 GB IO: Unused MMIO bits read high 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 781f3f76f1 GB: Fix some initializations 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 06e0908642 GB: Start on timers 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 4b51783589 GB: Fix IRQs firing infinitely 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 81cd68cbac GB IO: Implement key reading 2016-02-10 22:40:21 -08:00
Jeffrey Pfau b7e80deda0 GB Video: Initial rendering work 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 5fb2cfde1d GB Memory: VRAM access 2016-02-10 22:40:21 -08:00
Jeffrey Pfau dabc92bf5f GB IO: Pass more video registers to the video renderer 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 3158db06c2 GB: Start work on video rendering 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 5a23814973 GB IO: Add missing function declaration 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 76c41a62ba GB Video: Fix event timing on LCD enable 2016-02-10 22:40:21 -08:00
Jeffrey Pfau e019c54aad GB: Improve initialization 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 31b509e033 GB: Revamp STAT register 2016-02-10 22:40:21 -08:00
Jeffrey Pfau b711432a5e GB: Start MBCs 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 9a4db4b03d GB: Fix ROM bank initialization 2016-02-10 22:40:21 -08:00
Jeffrey Pfau c3abc16a94 GB: Fix writing IE 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 8622ba7ed0 GB: Add basic I/O, interrupts and video 2016-02-10 22:40:21 -08:00
Jeffrey Pfau 64676529ba LR35902, GB: Start work on GB core 2016-02-10 22:40:21 -08:00