Commit Graph

4924 Commits

Author SHA1 Message Date
rogerman 9b2d36df0c GFX3D:
- Do workaround for possible NaN comparisons being done when Y-sorting. (Addresses bug #1461.)
2015-03-26 09:49:56 +00:00
rogerman 2fc39e3c3e Documentation:
- Note Cocoa port changes in the ChangeLog.
2015-03-25 06:12:03 +00:00
zeromus 61df0246e6 add comments about y-sorting 2015-03-25 06:04:23 +00:00
rogerman 3a747f85ce GFX3D:
- Fix bug where 4x4 compressed textures in Mode 2 would mix the incorrect colors. (Regression from r5128.)
- Do some minor code cleanup.
2015-03-25 03:48:15 +00:00
rogerman 59d33fddb7 GFX3D:
- Fix texture coloring bugs with 4x4 compressed textures on big-endian systems. (This should be the last of the texture coloring bugs.)
- Do small optimization to 4x4 compressed texture conversion.
- Do some minor code cleanup.
2015-03-23 20:58:37 +00:00
rogerman b253fc44a7 Video Filters:
- Do some minor code cleanup on the xBRZ filter.
2015-03-23 17:52:33 +00:00
rogerman 4db72d4254 Cocoa Port:
- Fix bug when using dual display mode with a screen separation where the displays could mistakenly draw ghost lines at the top or bottom of each screen. (Partially addresses bug #1435.)
2015-03-23 07:57:18 +00:00
rogerman f0e8760dc4 Cocoa Port:
- Fix compiling when using Xcode 3.
- Don’t set the output frame size with multiple glViewport() calls per frame. Just set it once for the output.
- Do some minor code cleanup.
2015-03-21 21:18:00 +00:00
rogerman b906b233c5 Cocoa Port:
- Fix bug where the user can force activate the mic while the emulator is idle by manipulating its mute control.
- Fix bug where the mic icon remains black if the emulator resets while in execute.
- Further optimize mic icon updates.
2015-03-20 08:48:40 +00:00
rogerman 3088fd581e Cocoa Port:
- Run the Display Preferences preview inside a single-buffered context.
- Do some minor code cleanup.
2015-03-20 07:42:13 +00:00
rogerman 1674170370 mc.cpp:
- Handle the case where the EMUFILE size is less than the DeSmuME footer size. Allows an in-memory BackupDevice to work with NAND flash saves.
2015-03-19 22:06:26 +00:00
rogerman 3331fb1890 Windows Port:
- Fix crashing bug where the app would crash if the SaveRam path is invalid or does not allow for read/write access. (Fixes bugs #1394 and #1426.)
- New behavior: If the SaveRam path is invalid or does not allow for read/write access, warn the user. After the warning, continue emulation as normal.

mc.cpp:
- Allow backup memory to operate inside RAM if read/write file access is unavailable.
2015-03-19 01:50:15 +00:00
rogerman bfe105a188 GFX3D:
- Workaround a bug specific to GCC v4.9 where allocating the VERTLIST blocks would cause a std::bad_alloc exception. (Fixes bug #1438.)
2015-03-18 03:25:14 +00:00
rogerman 5bab1a14f3 Windows Port:
- Fix bug where using the 5xBRZ filter through the DirectDraw HW/SW display method would cause a crash. (Fixes bug #1444.)
2015-03-15 22:40:29 +00:00
rogerman 0ac489ade1 Cocoa Port:
- Fall back to using a legacy OpenGL context if the GPU driver rejects initializing a 3.2 Core Profile context.
2015-03-15 06:46:49 +00:00
rogerman d59ead2b51 Cocoa Port:
- Update UI tooltips to reflect current knowledge of DeSmuME’s behavior.
- Move the 3D Rendering Settings tab in DeSmuME Preferences from Display to Emulation.
2015-03-14 21:11:40 +00:00
rogerman 60d0726a2a Cocoa Port:
- Fix bug where the mic level value wasn’t being displayed correctly on OS X v10.5 Leopard.
- Remember the sound output volume setting between app launches.
2015-03-12 23:01:00 +00:00
rogerman e3fdd8f7f2 Cocoa Port:
- Update copyright year.
2015-03-11 07:28:15 +00:00
rogerman 2cee9a1eb9 Cocoa Port:
- Fix bug where the frame wouldn’t update itself when starting/stopping GDB stub, frame advance, or frame jump under certain conditions.
2015-03-11 06:36:33 +00:00
rogerman af1c434727 Cocoa Port:
- Fix bug where the mic level thresholds were based on the peak value instead of the average value.
2015-03-11 04:55:24 +00:00
rogerman 76b9689bf2 Cocoa Port:
- All display window settings panels now show the window number of the corresponding display window.
2015-03-11 03:45:51 +00:00
rogerman e893c4eab5 Cocoa Port:
- Include SoftRasterizer’s Fragment Sampling Hack setting in the troubleshooting report.
- Misc. UI changes/fixes.
2015-03-10 19:41:04 +00:00
rogerman fa4d2cb58f Cocoa Port:
- Add the Microphone Settings panel for easier control and more verbose info. The new panel also allows the user to change and monitor mic settings without needing a display window's status bar.
- Implement a more proper mic level UI that reports the level per frame instead of per sample. This should improve UI performance.
- Make all methods in the CocoaDSControllerDelegate protocol optional and remove all related protocol methods from the OpenEmu plug-in.
- Try attaching a new hardware input device on startup.
- Remove debug printf stuff when attaching a new hardware input device. The new Microphone Settings panel makes the extra printf stuff unnecessary.
- Remember the hardware mic mute setting between app launches.
2015-03-10 08:53:59 +00:00
rogerman d0ec648952 Cocoa Port:
- Fix some UI bugs with mic level checks where the mic status icon wasn't showing the correct color under certain conditions.
- Fix UI bug where the mic mute control wasn't being respected under certain conditions.
- The mic status icon now includes a tooltip that reports the name and sample rate of the current input device.
- Handle mic hardware state changes more gracefully when the input device is changed externally.
2015-03-09 21:49:22 +00:00
rogerman 381324ca09 Cocoa Port:
- Add full support for using hardware microphones on the host machine for emulating the NDS microphone. Finally, mic driven games, such as Nintendogs, are fully playable on the Mac!
- Display windows no longer include an output volume slider directly in the status bar. Instead, the slider has been moved inside a popup button, which now behaves just like OS X's volume menu. This was done for better space efficiency.
- Display windows now include a microphone icon alongside the output volume icon. Like the output volume, there is a slider control to adjust microphone gain and also a mute control.
- The microphone icon changes color depending the microphone's state (as seen by the NDS, not the host).
- Replace the existing microphone icon with one that looks better and is more modern.
- Adjust the size of the output volume icon from 20x20 pixels to 16x16 pixels.
- Fix yet another font rendering bug in the Input Profile viewer on OS X Yosemite.
2015-03-08 09:41:19 +00:00
rogerman 64ea7591ab Cocoa OpenEmu Plug-in:
- Update to SDK v1.0.4.
- Change the SPU sync method to N-method.
- Fix bug where the enable state of cheats could not be toggled.
2015-02-25 05:50:15 +00:00
rogerman 7d87434a21 Cocoa Port:
- Max out the core emulation thread's priority. This improves the overall timing accuracy of the emulator.
2015-02-24 21:33:11 +00:00
rogerman df96846915 Cocoa OpenEmu Plug-in:
- Fix compiling issue.
2015-02-21 20:37:55 +00:00
rogerman 83578add74 Cocoa Port:
- Completely revamp the ROM Info panel to have a more modern and mainstream look and feel.
- The ROM Info panel can now be resized and scrolled through.
- Each individual info section in the ROM Info panel can now be expanded or collapsed.
- Fix bugs where the ROM capacity and ROM used capacity info weren't being calculated correctly.
- Do a bunch of random UI text clipping fixes when running on OS X Yosemite.
2015-02-20 22:18:08 +00:00
rogerman 06ece0cb07 Cocoa Port:
- Do a major revamp of the File Migration Assistant. It has been renamed "Game Data Migration Assistant". All following notes will pertain to the new Game Data Migration Assistant.
- Files no longer appear in a single list. They are now organized by app version and file type.
- Users can now select multiple files at once by clicking the checkbox of their corresponding app version or file type.
- File selection is much smarter. If the same file exists in multiple versions, then if the user selects one version of a file, all other versions of that same file are automatically deselected. This also works in multiple selection cases.
- Remove the Select All and Select None buttons. With the smarter selection UI, these buttons are no longer necessary.
- Provide better user feedback when no files need to be migrated.
- Rework the outline view to be more space efficient.
2015-02-18 05:48:25 +00:00
rogerman 634d1ba89b Cocoa Port:
- Fix font rendering weight of the Input Preferences view when running on OS X Yosemite.
2015-02-17 19:52:44 +00:00
rogerman 697c91d99a Cocoa Port:
- Fix bug where changing a display window's pixel scaler while in Touch mode would sometimes cause a crash.
- Do some minor code cleanup.
2015-02-15 09:00:45 +00:00
rogerman cfb408d63b Cocoa Port:
- Fix bug where switching between CPU-based and GPU-based filters in the DeSmuME Preferences display preview would sometimes fail.
- Fix bug where the DeSmuME Preferences display preview would show incorrect colors when using a CPU-based filter on PowerPC Macs.

Video Filters:
- Fix bug where the Scanline filter would show incorrect colors on big-endian systems.
2015-02-15 02:14:29 +00:00
rogerman 5254d7143a Cocoa Port:
- Fix some compiling issues if the C++ standard library is set to libc++ w/ C++11 support instead of libstdc++.
- Fix some compiling issues if compiling on OS X Leopard w/ Xcode 3.1.4.
2015-02-14 02:26:02 +00:00
rogerman d83b1a260c Cocoa Port:
- Fix another freeze on app exit when running on OS X v10.5 Leopard.
2015-02-12 09:02:04 +00:00
rogerman 782447e115 Cocoa Port:
- Fix the behavior of the Display Preferences filter preview.
- Fix an intermittent crash that sometimes occurs when creating a new display window.
- Fix a rare and mysterious crashing bug that sometimes occurs when initializing the HQ4x LUT.
2015-02-11 12:03:47 +00:00
rogerman afa4d57545 Cocoa Port:
- Fix a longstanding bug where audio frames were accidentally getting dropped when using N-sync and Z-sync methods. Greatly improves the audio quality of the N-sync method.
- Now that N-sync actually works as intended, it is now the default sync method. (N-sync has much better latency compared to the other sync methods, especially compared to P-sync, which was the previous default.)
- Update sync method tooltips to better reflect their actual behavior.
- Fix UI bug where the Advanced SPU Logic control text would get truncated on OS X Yosemite.
2015-02-11 01:47:31 +00:00
rogerman 2ff7821e85 Cocoa Port:
- Update the SLOT-1 Manager UI to be more consistent with the SLOT-2 Manager.
- Add some more options to the SLOT-1 Manager's ROM action menu.
2015-02-08 05:44:47 +00:00
rogerman a8ef76f07b Cocoa Port:
- Store the HQnx LUTs on the heap instead of on the stack. Fixes app builds from the Xcode 3 project, where the default stack size is smaller than when using the latest Xcode. (Regression for r5087.)
- Update Xcode 3 project so that builds actually work. (Regression from r5070.)
2015-02-06 19:40:41 +00:00
rogerman 453baff89c Cocoa Port:
- Refactor the OpenGL blitter to work with 3.2 Core Profile contexts.
- Simplify some of the init code.
2015-02-05 21:36:13 +00:00
rogerman baeb5313d2 Cocoa Port:
- Add shader-based equivalents to the following pixel scalers: 2xBRZ, 3xBRZ, 4xBRZ, 5xBRZ. (And yes, these are exact GLSL ports of Zenju's xBRZ scalers, not Hyllian's xBR scalers. These shaders are very demanding on your GPU, so users with older GPUs may want to continue using the CPU-based versions instead.)
- Add a preliminary GPU tiering system to help detect GPU capabilities and allow for better optimizations to be used on newer GPUs.
- Do some optimizations to the following shaders: Bicubic B-Spline, Bicubic Mitchell-Netravali, Lanczos3, EPX.
- Change the shader-based EPX+ color comparisons to be more true to the original CPU-based algorithm.
- Improve color blending on the Deposterize shader.
2015-02-04 01:22:13 +00:00
zeromus f0bef635c2 try to fix some winport joystick hotkey bullcrap for >1 attached joysticks 2015-02-02 19:16:34 +00:00
rogerman 928004e13e GFX3D:
- Fix possible invalid memory access crashes when Y-sorting, most notably, in Super Mario 64 adventure mode. Using std::stable_sort() instead of std::sort() should have little to no performance impact since we're not sorting a lot of elements here. (Regression from r2436.)
2015-01-26 19:46:34 +00:00
rogerman 3abfa637b4 Cocoa Port:
- Initialize the HQnx LUTs only once, instead of doing it per display window.
- Fix issue where the HQnx LUT init code was causing extremely long compile times. (Regression from r5087.)
2015-01-26 05:22:43 +00:00
rogerman c233b1c14f Cocoa Port:
- Add shader-based equivalents to the following pixel scalers: LQ2x, LQ2xS, HQ2x, HQ2xS, HQ4x, HQ4xS
2015-01-25 01:43:37 +00:00
rogerman 1041fe8e3a Video Filters:
- Fix bug where the LQ2xS pixel scaler was using the same code as LQ2x.
- Change LQ2xS brightness thresholds so that LQ2xS actually works as intended.
2015-01-23 18:34:51 +00:00
rogerman 9849a88269 Cocoa Port:
- Fix bug where using Deposterize with a CPU-based pixel scaler would make the video fail to update. (Regression from r5083.)
2015-01-21 02:53:45 +00:00
rogerman 81772f1906 Cocoa Port:
- Oops! Missed some files that should've been committed in r5083. (Regression from r5083.)
2015-01-21 02:15:38 +00:00
rogerman d880c58f75 Cocoa Port:
- Read the GPU_screen buffer directly and avoid making multiple copies of it. Improves performance when many display windows are used.
2015-01-21 02:09:59 +00:00
yki 245586a978 gtk-glade port: Added gdbstub_mutex_init() and destroy() to src/gtk-glade/main.cpp. Now it should be in all ports. 2015-01-17 21:38:06 +00:00