rogerman
f4c01c4b57
GPU: Fix bug where the backlight intensity would be incorrectly averaged if frameskipping is enabled. (Regression from commit f5c9a36.)
2017-10-04 00:32:43 -07:00
rogerman
6ca2dbe6d0
Cocoa Port: Fix a crash and a potential deadlock that may occur when responding to host display changes. (Regression from commit 4957d7b.)
2017-10-03 23:49:18 -07:00
rogerman
addb17b660
Fix a bug where games would almost always start up with the main screen at low brightness and touch screen completely off. (Regression from commit f5c9a36.)
2017-10-03 17:28:33 -07:00
rogerman
ff4a3e0a5c
Linux Port (CLI and GTK-Glade): Add support for rendering the backlight intensity on the CPU-based display methods. (Related to commits f5c9a36
and 74ba49e.)
2017-10-03 15:16:18 -07:00
rogerman
a3a577f2e9
Windows Port: Replace the backlight kludge in the DirectDraw display method with the new ColorspaceApplyIntensityToBuffer32(). (Related to commits f5c9a36
, 3a000b6
and 74ba49e.)
...
- Also fixes a build problem in MSVC. (Regression from commit 74ba49e.)
2017-10-03 14:26:36 -07:00
rogerman
74ba49e168
Colorspace Handler: Add dedicated functions ColorspaceApplyIntensityToBuffer16() and ColorspaceApplyIntensityToBuffer32() for applying an RGB intensity value to a framebuffer.
2017-10-03 13:54:51 -07:00
zeromus
174dcc11bb
Merge pull request #102 from atsampson/master
...
Fix broken option list in POSIX frontend
2017-10-03 01:56:59 -05:00
Adam Sampson
ecbcb3c821
Fix broken option list in POSIX frontend
...
f5c9a36930
tried to remove an entry from
the list of options, but only deleted half of it.
2017-10-03 07:52:39 +01:00
zeromus
3a000b68fd
re #59 - abuse accelerated masterbrightness processor to crudely implement LCD backlight for DD display methods
2017-10-02 14:55:50 -05:00
rogerman
f5c9a36930
GPU: NDSDisplayInfo now reports the backlight intensity for each display. The LMNTS demo now properly fades the backlights in and out, but only on frontends that support this feature. (Fixes #59.)
...
- Note: The backlight intensity is only emulated on frontends with 3D-based display methods, such as OpenGL and Metal. CPU-based display methods, such as DirectDraw, SDL and Cairo, are currently unsupported.
2017-10-02 11:39:40 -07:00
rogerman
059ea519bc
Cocoa Port: Vastly improve the ability to take screenshots of the NDS displays.
...
- The old Tools > Save Screenshot As has been replaced with the new Screenshot Capture Tool.
- The new Screenshot Capture Tool allows screenshots to be configured to render with the same layout features as a display view.
- Screenshot captures now both render and save to file on their own independent threads.
- Screenshots are now captured using the Take Screenshot button, and files are now automatically named based on ROM name and timestamp.
- All of these features means that users can now rapidly take screenshots with their own custom layouts, all with little to no slowdown to the emulation.
- Also do a bunch of code cleanup and refactoring as a side-effect of adding these new features.
2017-09-30 23:54:05 -07:00
zeromus
2c1360dec5
fix #97 - increasing matrix stack cursor size to 6bits caused garbage to get masked into GXSTAT since there had been no &31 to select only the needed 5 bits
2017-09-29 14:47:15 -05:00
rogerman
d37ef1ff95
Cocoa Port: Copying the contents of the display window via Edit > Copy now copies the actual contents of the display window instead of directly copying the NDS screens with a generic vertical layout.
2017-09-25 21:21:51 -07:00
rogerman
70c69a46d3
OpenGL Renderer: Fix a bug where the behavior of translucent polygons can become undefined if the frame contains nothing but translucent polygons. Fixes a graphical glitch in Grey's intro scene in Mega Man ZX Advent. (Regression from commit 1742114.)
2017-09-23 21:32:34 -07:00
rogerman
1742114fcd
OpenGL Renderer: Reset the current polygon's OpenGL states to the last opaque polygon whenever the zero-destination-alpha-pass is performed. Fixes a graphical bug in MegaMan ZX Advent, where the explosions from the boss in Grey's first level will render incorrectly. (Regression from commit eea54a7.)
2017-09-22 17:25:01 -07:00
rogerman
f521ab1164
Cocoa Port: Refactor the hardware mic stuff out of CocoaDSController and into ClientInputHandler.
2017-09-21 00:33:28 -07:00
rogerman
f8bbbec0ae
OpenGL Renderer: Fix possible crash that may occur if the 3D framebuffer is used before the 3D renderer has a chance to render at least once. (Partially addresses #59.)
2017-09-19 17:47:48 -07:00
rogerman
4ea08792cb
Cocoa Port: Fix bug where the ROMInfoPanel was misaligning the locations of info sections.
2017-09-19 15:49:22 -07:00
rogerman
aa04c8f233
Cocoa Port: Better guarantee that display views will always be assigned a display ID.
2017-09-19 14:47:55 -07:00
rogerman
830dd0d78c
Cocoa Port: Give user feedback for when the emulation gets halted internally.
...
- Also be more consistent when recovering from an internal emulation halt.
- Also apply enabling the external BIOS, external firmware and firmware boot settings at load/reset time instead of at frame time.
2017-09-19 12:59:44 -07:00
zeromus
1c59441697
fix bug in sthread_isself ( fixes #34 )
2017-09-17 04:05:17 -05:00
zeromus
c5cea732fa
update rthreads.c from upstream
2017-09-17 04:02:14 -05:00
rogerman
fda9fc2a89
Cocoa Port: Reduce threading overhead for framebuffer fetches and SPU_Emulate_user().
...
- Framebuffer fetches no longer run on a CocoaDSThread, but instead uses a pthread directly. This can be done since framebuffer fetching only serves one function and always receives the same execution message, making a full CocoaDSThread a waste.
- SPU_Emulate_user() is no longer called on a separate thread, and instead is called in the emulation thread directly. For the typical SPU use case (SPU Sound Synchronization w/ Advanced SPU Logic), SPU_Emulator_user() becomes negligible, and so the threading overhead becomes unnecessary. In the use case where Dual SPU Synch/Asynch is used, Advanced SPU Logic is almost always disabled with it, and so the penalty of calling SPU_Emulator_user() on the emulation thread will be more than compensated by the performance increase of turning off Advanced SPU Logic.
- Also do some code cleanup/refactoring here and there.
2017-09-16 18:08:07 -07:00
rogerman
8f2c85fe86
Cocoa Port: Remove some extraneous properties from DisplayWindowController since these same properties are handled elsewhere.
2017-09-16 02:36:22 -07:00
rogerman
4957d7be5b
Cocoa Port: Rework how Metal display views flush to screen, improving their overall performance.
...
- Fix a bug where Metal display views can block emulation execution if the user very quickly spams inputs while the input HUD is shown.
- Metal display views are no longer frame capped -- they can now run to their fullest performance potential, as fast as the host hardware will allow. This behavior is now consistent with OpenGL display views.
- As a side-effect, non-layer backed OpenGL display views also have a performance improvement.
2017-09-16 00:13:52 -07:00
zeromus
759a039e25
handle powered-off geometry engine more sensibly. involves commit 66b5da1c
and issue #31 , intended to fix ZX advent. fixes #58 .
2017-09-15 09:57:16 -05:00
rogerman
d33faecd12
Cocoa Port: Create new DisplayView objects in code instead of creating them implicitly through the nib.
2017-09-13 14:48:19 -07:00
rogerman
c94f353f2a
Cocoa Port: For Metal display views, in -renderDrawable, separate buffer updates from encoding commands in an effort to try to reduce the hold time on the vended drawable as much as possible.
2017-09-12 00:50:57 -07:00
rogerman
d0f16193c5
Cocoa Port: Refactor out more input-related stuff into some new files -- ClientInputHandler.cpp/.h.
2017-09-11 23:32:30 -07:00
rogerman
cb4ecbe17e
Cocoa Port: Do some refactoring to remove extraneous connections in EmuControllerDelegate.
2017-09-11 15:26:37 -07:00
rogerman
221fa5f72b
Cocoa Port: Add support for reporting inputs in the HUD.
...
- Also do a bunch of code refactoring.
2017-09-11 09:41:54 -07:00
rogerman
17ff2b2d6e
vfat.cpp: Silence a couple of compiler warnings.
2017-09-09 13:00:35 -07:00
rogerman
4cfa910e75
Cocoa Port: NEW FEATURE - Users can now apply custom colors to individual HUD line items.
2017-09-05 13:12:31 -07:00
rogerman
2b9bc2509a
Cocoa Port: Additional tweaks to the new turbo settings UI. (Related to commit af22153.)
2017-09-04 09:54:35 -07:00
rogerman
af22153f5c
Cocoa Port: NEW FEATURE - Add the ability to set up custom frame-by-frame press/release state patterns for turbo.
2017-09-04 09:33:11 -07:00
rogerman
d1ac719b5c
Cocoa Port: Fix UI issue where status bar on display windows would no longer show the mic gain control. (Regression from commit 3bf295f.)
2017-09-04 08:09:48 -07:00
rogerman
ccaefb18bc
Cocoa Port: Fix UI issue where the Input Preferences window may not be automatically assigned as the first responder. (Regression from commit 1e9b179.)
2017-09-03 14:25:25 -07:00
rogerman
f67f959fe3
Cocoa Port: Retrieve both pending and applied NDS inputs post-NDSExec().
...
- Also do some minor code cleanup on some input-related stuff.
2017-09-01 16:38:06 -07:00
rogerman
a86539eb1c
Cocoa Port: Do some refactoring on reading the client-side inputs.
...
- Also make calculating the mic level average more efficient, as well
as updating the mic level average every 8th frame instead of every
frame.
2017-09-01 00:33:54 -07:00
Roger Manuel
b4650e4083
Merge pull request #94 from atsampson/master
...
Update remaining stub versions of mic_savestate/loadstate. Fixes #95 .
2017-08-31 01:16:40 -07:00
rogerman
fd6ed7b518
Cocoa Port: Synchronize access to ClientDisplayView._hudString.
2017-08-30 15:34:58 -07:00
rogerman
db4982f4bc
Cocoa Port: Continue refactoring cocoa_core.mm.
...
- Also fix a small off-by-one error in slot1_Change().
2017-08-30 15:20:08 -07:00
rogerman
e29e825d27
Cocoa Port: Report newer options in the Support Requests and Bug Reports pages to reflect the current feature set.
...
- Also update the URL for the Bug Report webpage from sourceforge.net
to github.com.
2017-08-29 17:16:19 -07:00
rogerman
abebaebdef
Cocoa Port: Continue refactoring the emulation execution loop code to be less port-dependent.
2017-08-29 15:14:24 -07:00
rogerman
3bf295f4ce
Cocoa Port: Fix bug where Lion-style full screen failed to work on OS X Mavericks and Yosemite.
2017-08-28 19:36:55 -07:00
rogerman
1e9b179bf4
Cocoa Port: Begin refactoring some of the emulation execution loop code to be less port-dependent.
...
- Also clean up some UI code with switching app preferences views when
running OS X Leopard.
2017-08-28 17:30:19 -07:00
rogerman
a05e03e2cc
OpenGL Renderer: When running a GPU Scaling Factor of 3x and 4x, increase the MSAA sample size limit from 8xMSAA to 16xMSAA.
2017-08-27 14:07:13 -07:00
rogerman
2379dc1e41
OpenGL Renderer: Make the MSAA sample size limit based on the framebuffer size instead of being fixed at 8xMSAA.
...
- The MSAA sample size limit is now based on the following sizes:
1x Native Resolution - 32xMSAA
2x Native Resolution - 16xMSAA
3x-8x Native Resolution - 8xMSAA
9x and greater Native Resolution - 4xMSAA
2017-08-26 22:41:53 -07:00
Adam Sampson
e58fb84707
Update remaining stub versions of mic_savestate/loadstate.
...
11cf901336
changed most of these but
missed these three.
2017-08-26 15:32:14 +01:00
rogerman
e6d5a8fbe1
Windows Port: Increase the maximum GPU Scaling Factor from 5x to 16x. (This should be safe on the vast majority of GPUs out there, but if we find out that this ends up being unsupported on many GPUs, the max scaling factor may have to be reduced back to 5x. This will need additional testing.)
...
- Also do some minor code cleanup here and there.
2017-08-25 18:53:07 -07:00