Commit Graph

4336 Commits

Author SHA1 Message Date
riccardom 8fecdad891 gfx3d.cpp: correct memset size for vertlists and polylists 2012-03-18 16:39:47 +00:00
riccardom 0093cc9648 mc: correct assignment to the right variable
This was introduced in r3875.
2012-03-18 16:25:37 +00:00
riccardom 2bcac4e190 GPU: add default case in GPU::setFinalColorBG draw switch
In practice it cannot happen but this silences more than
100 lines of gcc warnings so...
2012-03-18 15:53:33 +00:00
riccardom a931324050 Fix compilation with gcc 4.7
Add missing headers

From Andrea Musuruane, #3507136
2012-03-18 10:08:21 +00:00
riccardom 855a6db00f mc: add some brackets to make gcc happy and code easier to follow 2012-03-17 20:01:50 +00:00
riccardom b2467a6032 metaspu: make GetAlignedBufferSize static 2012-03-17 19:56:32 +00:00
riccardom d6935d07f7 mmu: put braces to avoid gcc warning us we may are doing something fishy 2012-03-17 19:53:35 +00:00
riccardom 4134d2556b wifi: put WIFI_RXQueuePacket under EXPERIMENTAL_WIFI_COMM 2012-03-17 19:48:47 +00:00
riccardom 35bde51221 FIFO: remove unused variable proc_remote 2012-03-17 19:46:57 +00:00
riccardom a5ba9829c5 commandline: make mytoupper static 2012-03-17 19:40:16 +00:00
riccardom 6e86aa288a commandline: correct autodetect_method check 2012-03-17 19:39:26 +00:00
rogerman 7f6e9074f4 Cocoa Port:
- Fix potential deadlock on application exit.
- Misc. code cleanup.
2012-03-16 04:21:28 +00:00
rogerman f6f1678eca Cocoa Port:
- Throttle execution speed using mach_wait_until() instead of usleep(). This improves execution timing, and reduces screen tearing when running the video at >= 60FPS.
- Improve thread safety when changing the execution speed.
- Do some miscellaneous minor optimizations to the execution loop and frame skip.
2012-03-13 01:59:32 +00:00
rogerman 7ae952f366 Cocoa Port:
- Reverse locking mechanics for the core emulation loop's producer/consumer threads. (Instead of the producer telling consumers to lock, now consumers check if the producer is locked.)
- Add additional error check for the execution state within the core emulation loop.
- Reduce spin lock time when setting the GPU state flags.
- Improve thread safety when changing the execution state.
2012-03-10 20:42:49 +00:00
rogerman 0fdb9308c1 Cocoa Port:
- Lower the Xcode and Interface Builder version requirements from v3.2 to v3.1 in the Legacy project.
- Clean up build settings in the Xcode 3 project.
2012-03-09 04:27:50 +00:00
wntrmute 86408a37ab Xcode 3.1.4 has llvm gcc 4.2 2012-03-07 20:10:59 +00:00
rogerman 753bb09007 Cocoa Port:
- Also lower IB version requirements to IB v3.1.
- Add a build target that forces the standard app to build with GCC in the Xcode 3 project.
2012-03-07 17:18:13 +00:00
rogerman 45f01066c5 Cocoa Port:
- Lower Xcode version requirements to Xcode v3.1 in the Xcode 3 project.
2012-03-07 16:32:00 +00:00
rogerman 7ca5067856 Cocoa OpenEmu Plug-in:
- Change system identifier from openemu.system.nintendods to openemu.system.nds.
- Integrate touch pad support.
2012-03-07 08:27:48 +00:00
rogerman 8839973caa Cocoa Port:
- Reduce spin lock time when setting the displayType property.
2012-03-07 04:49:59 +00:00
rogerman e214a9b6c7 Cocoa OpenEmu Plug-in:
- Ensure that the OpenEmu data directory exists before ROM loading.
- Add future support for changing the DS display mode. (Not yet implemented.)
- A lot of general code cleanup.
2012-03-07 02:25:22 +00:00
rogerman 5b11947f77 Cocoa OpenEmu Plug-in:
- Integrate OpenEmu's audio system with the OpenEmu Plug-in. (Special thanks to jweinberg, clobber, and Psy from the OpenEmu team!)
- Make input handling asynchronous through the Distributed Object system.
- Rename OpenEmuSoundInterface.mm/.h to OESoundInterface.mm/.h.
- Some minor cleanup to global defines.
2012-03-04 08:00:29 +00:00
rogerman 18a5907a1e Cocoa OpenEmu Plug-in:
- Update method names to match the newest revision of the OEGameCore API.
- Return audioBufferCount==0 since we're using DeSmuME's sound handling code for now.
- Change the 3D rendering core to the null core on dealloc.
2012-03-03 21:18:27 +00:00
rogerman 0b00a16f4e This commit adds support for building an emulator core plug-in that is compatible with OpenEmu (http://openemu.org). Please note that this is completely separate from our official port. You may see a different feature set when using DeSmuME in our official port vs. using DeSmuME in OpenEmu. Due to this reason, commit logs will distinguish each build target as "Cocoa Port", which is our official port, and "Cocoa OpenEmu Plug-in", which refers to the plug-in for OpenEmu.
Cocoa OpenEmu Plug-in:
- Add a build target for the OpenEmu Plug-in to the Xcode 4 project.
2012-03-03 03:45:30 +00:00
rogerman 8a7fd2445f Cocoa Port:
- Refactor audio playback code for better code modularity.
- Improve overall performance of audio playback.
- Fix compile issue with the legacy build.
- Add a method for setting the emulator core's file paths directly by using a dictionary. This method can be used as an alternative to reading FileTypeInfo.plist.
- Add file handling support for the upcoming OpenEmu Plug-in build target.
2012-03-03 02:16:24 +00:00
rogerman ab53131bd8 Cocoa Port:
- Fix bug with Import ROM Save File where .sav files weren't being recognized.
2012-02-27 05:35:17 +00:00
rogerman 80b775730b Cocoa Port:
- Silence compiler warning when compiling for Mac OS X v10.6/v10.7.
2012-02-27 05:33:41 +00:00
rogerman a537f3c166 Cocoa Port:
- Significant improvements to auto frame skip! It now uses less CPU, and timing is much smoother and more accurate.
- Some minor code cleanup for the emulation core object.
2012-02-25 22:26:12 +00:00
mtabachenko dfb4e04a0d - ops, forgot file; 2012-02-24 14:29:08 +00:00
mtabachenko f864e4386c winport:
- rewrite import backup memory;
2012-02-24 14:22:14 +00:00
rogerman ee6ee321a4 Cocoa Port:
- Fix compiling when using Clang v3.1.
2012-02-20 21:09:00 +00:00
mtabachenko 266eccb5d5 winport:
- fix initialize autodetect_method (revert  r4101);
2012-02-20 19:47:58 +00:00
zeromus d628ede53b just a tiny bit of cleanup 2012-02-20 19:35:44 +00:00
zeromus a6333a2d02 update subwcrev.exe to somewhat newer version 2012-02-20 19:18:38 +00:00
rogerman d881160c03 Cocoa Port:
- Change the app identifier from "com.DeSmuME.DeSmuME" to "org.desmume.DeSmuME".
- Change the app category from Utilities to Entertainment.
2012-02-20 18:40:32 +00:00
rogerman 416a5e18a1 Cocoa Port:
- Reimplement Objective-C memory management by using the standard patterns for retain/release mechanics. This fixes several real and potential memory leaks.
- Additional miscellaneous code cleanup and fixes.
2012-02-20 17:00:13 +00:00
rogerman 1fdf99cf1a Cocoa Port:
- Fix potential deadlock upon application exit when running on Mac OS X v10.7.
2012-02-13 22:27:28 +00:00
rogerman c7fd9f79b0 Cocoa Port:
- Based on user suggestion, rename menu option "Tools > Show Support Folder in Finder" to "Tools > Show Game Data Folder in Finder".
2012-02-13 06:22:56 +00:00
rogerman e55ad2f34e Cocoa Port:
- When detecting an analog input's on state, use the upper/lower third of the range instead of the upper/lower quarter of the range. This helps improve compatibility with certain joysticks.
- Perform an integer length bounds check before calling IOHIDValueGetIntegerValue(), since this function will cause a crash if the returned integer value is very large. This prevents crashing when using certain controllers, such as the PS3 controller.
- When mapping inputs in Input Preferences, require the user to hold the input in its on state for at least 0.1 seconds. In addition, the user must also perform a full on-off state transition with the input. This helps stabilize jittery inputs, and also helps ignore unintentional inputs from devices that constantly throw a large number of signals, such as the PS3 controller's accelerometer.
- When mapping inputs in Input Preferences, remove all previous mappings for the particular control before mapping the input. Since the UI doesn't yet support multiple bindings per control, the previous behavior was confusing for users.
2012-02-13 05:48:10 +00:00
zeromus 239301d405 add zlib 1.2.6, make at least one of the vcproj use it for testing, and fix ROMReader to work with zlib 1.2.6 2012-02-10 19:58:06 +00:00
rogerman 8fd633a0c9 Cocoa Port:
- Add an XCode 4 project with a Mac OS X v10.7 build target.
- Update build settings for XCode projects: Disable symbol strip, enable dead code strip, enable prebinding.
- Include OpenGL gl.h header to fix compiling with Mac OS X v10.7.

libfat:
- Don't define strnlen() on Mac OS X v10.7.
2012-02-09 21:33:57 +00:00
rogerman 062f54806c Cocoa Port:
- There is a bug where if the user changes cheat items using the cheat list directly, the changes will not save to file. (However, any applied changes using Cheat Settings are saved to file as intended.) Workaround behavior: Save the cheat file upon ROM unloading.
2012-02-08 01:34:20 +00:00
rogerman d3ed81a259 Cocoa Port:
- Fix positioning of UI element in the R4 Cheat Database sheet.
2012-02-03 17:31:22 +00:00
rogerman 21680f3c71 Cocoa Port:
- Fix UI element sizing/positioning in the File Migration window.
- Rewrite text in ROM save file migration sheet so that the reading flows better.
- Update tooltip info to better reflect current knowledge from testing.
- Misc. grammatical fixes to UI elements.
2012-01-31 20:05:18 +00:00
rogerman b1fbd863c5 Cocoa Port:
- Fixed bug where applying an internal cheat would cause the byte size to reset.
2012-01-21 00:31:06 +00:00
rogerman b78912e1c3 Cocoa Port:
- Update XCode project and videofilter.h for filters relocation.
2012-01-20 05:20:46 +00:00
zeromus 8eba5500cb fix vcproj for filters relocation 2012-01-20 05:15:35 +00:00
zeromus 1487db8cdc move filters out of windows directory since theyre now used by the cocoa port 2012-01-20 05:13:01 +00:00
zeromus 3d2e656e83 fix buffer overflow in epx filter 2012-01-20 05:10:23 +00:00
rogerman 0d4811a028 Cocoa Port:
Here it is folks -- A brand new Cocoa port! This is a complete remake from the ground up, and constitutes about a year's worth of coding and testing, so enjoy! This log entry only includes a summary of the new features compared to v0.9.7. Due to the number of changes that have taken place, any bug fixes and developer-related details will not be reported here.

User Experience:
- Added many icons throughout the application to improve the visual appearance and provide easier visual cues.
- Added a toolbar and a sound volume slider to the emulation window.
- Added mouseover tooltips for most of the controls.
- Added the ability to change the emulation window display mode. The user can choose to display only the main screen, only the touch screen, or both screens.
- Added the ability to rotate the emulation window display to any arbitrary rotation angle.
- Added a bilinear filtering option for the display output.
- Added support for using video filters on the display output.
- Added the ability to copy a screenshot to the clipboard using Edit > Copy.
- ROM Info now provides much more ROM information in a better organized panel.
- The emulation window's status bar now gives more user feedback.
- In the emulation window, you can now click close to unload ROMs and quit the application.
- Externally loaded save states now behave more like typical document files: they ask to save upon close/quit, behave properly using Save and Save As, and support revert.

Emulation System:
- A modernized program architecture brings substantial performance improvements, especially on multiprocessor/multicore machines. This brings the Cocoa port much closer to the Windows port in terms of performance.
- Exposed all emulation, firmware, SPU, and SoftRasterizer options in the user interface. This should help users in configuring DeSmuME to work with many ROMs that were unusable before.
- Added support for using BIOS and firmware images.
- Added support for completely disabling GPUs (Tools > View Layers > Main GPU and Tools > View Layers > Sub GPU menu options).
- Added the ability to change the number of 3D rendering threads.
- Added support for using an ADVANsCEne database to autodetect the ROM save type.

Cheat System:
- Added a cheat manager, which allows the user to use cheat codes. DeSmuME internal cheats and Action Replay cheats are both supported.
- Added the ability to run a cheat search.
- Added the ability to import Action Replay cheats from an R4 Cheat database.

Input System:
- Any non-modifier key on the keyboard may now be used for the controller input.
- Added support for using USB HID devices for the controller input. Yes, you can use your favorite gamepads and joysticks now.
- All emulated controls can now be mapped, including Lid and Debug.
- Microphone input is now partially supported. Internal and white noise samples can now be generated for certain ROMs that require microphone input. For now, this should help the user complete certain games that rely heavily on microphone input, such as "The Legend of Zelda: Spirit Tracks".

File Handling:
- Added a file migration assistant to help the user migrate their old files to the current version of DeSmuME.
- Added support for importing and exporting ROM save files in RAW and No$GBA formats.
- Added the Tools > Show Support Folder in Finder menu option, which opens DeSmuME's Application Support folder. This exists as a convenience for Lion users.
- Added new icons for DeSmuME's files.


Note: The XCode Legacy project is now deprecated, and should only be used to make unofficial Tiger builds. Any new builds should use the XCode 3 project.
2012-01-20 05:09:13 +00:00