Commit Graph

4173 Commits

Author SHA1 Message Date
rogerman 5f2dd3e4c2 Cocoa Port:
- Update file handling utility methods to use external dictionary lookups instead of hard-coded values.
2012-01-17 01:00:48 +00:00
rogerman 48a849adba Cocoa Port:
- Rename legacy files to distinguish them from new code.
- Set svn to ignore xibs from non-English translations.
2012-01-11 23:31:12 +00:00
rogerman a1f043ecc9 Cocoa Port:
- Rename existing XCode project to DeSmuME (Legacy).
2012-01-11 23:24:17 +00:00
rogerman b0fef6d6af Cocoa Port:
- Delete files that have been obsoleted by the move to xib-based format in r4149.
2012-01-11 20:34:25 +00:00
rogerman e612203da4 Cocoa Port:
- Updated the English xib file. We kinda needed this in the last commit, so oops!
- Fix bug in translation build scripts that could cause build errors.
2012-01-11 20:29:53 +00:00
rogerman 02acfa3fe3 Cocoa Port:
- Although the Cocoa port looks very similar to the last update, there have been a lot of changes under the hood! Lots of code has moved around, lots of refactoring has been done, and lots of new code was copied from the upcoming Cocoa code base. Due to this, there have been a few collateral improvements as a result.
- Convert main.mm back to a plain Obj-C file, and remove all code from it. It has now been reverted back to its original empty form.
- Move all app related stuff to appDelegate_legacy.mm/h.
- Move all emulation window related stuff to emuWindowDelegate_legacy.mm/h.
- Because we're now using xibs, translations have been reworked. The English xib is the base xib, and translations now use .strings files to make modified copies of the English xib at compile time.
- Add user interface icons.
- Make the Custom Speed Limit Window panel more functional and look nicer.
- Add new Tools > Show Support Folder in Finder menu option, which opens DeSmuME's Application Support folder. This exists as a convenience for Lion users.
- Remove the View > Constrain Proportions menu option. Now, DeSmuME behaves as if this option is always enabled.
- Combine Emulation > Execute and Emulation > Pause into a single menu item.
- Status text now gives more user feedback.
- Add a sound volume slider to the emulation window.
- Remove the Sound menu.
- In the main emulation window, you can now click close to unload ROMs and quit the application.
- Add ability to save screenshots in JPEG 2000 format.
- Add ability to copy a screenshot to the clipboard using Edit > Copy.
- BUG #3394244: Fix bug where touch coordinates did not map correctly on rotated screens.
2012-01-11 19:59:17 +00:00
rogerman 0bcaded804 Cocoa Port:
- Another file handling code update that I missed.
- Integrate DeSmuME's directory structure into this port.
2012-01-06 16:47:12 +00:00
rogerman a46431a236 Cocoa Port:
- Update more old file handling code to use the new methods added from the last commit.
2012-01-06 09:52:23 +00:00
rogerman cf86f83fb0 Cocoa Port:
- Convert cocoa_util.m from Obj-C to Obj-C++, and add many new utility methods.
- Remove obsolete globals.h file, and convert needed C functions into Obj-C methods in cocoa_util.mm.
- Add cocoa_file.mm for general file handling methods.
- Change all file handling to use NSURLs instead of NSString paths.
- Refactor existing code to use the new methods.
- Remove obsolete UI code.
- Move Tiger-specific compatibility code to a new file, macosx_10_4_compat.h.
2012-01-06 08:53:13 +00:00
rogerman 5f0805e306 Cocoa Port:
- Change Interface Builder format from .nib to .xib.
- Rename the main IB file from "MainMenu" to "MainMenu (Legacy)".
2012-01-05 00:14:32 +00:00
rogerman c07ba69e7e Cocoa Port:
- Fix compile issue for the Tiger target build.
2012-01-05 00:04:12 +00:00
rogerman 1f218e95c5 Cocoa Port:
- Add new icon for ROM cheat files (.dct).
2012-01-04 21:15:24 +00:00
rogerman c02ffe1548 Cocoa Port:
- Update necessary files that I forgot in the last commit.
2012-01-04 21:13:13 +00:00
rogerman 719e210de6 Cocoa Port:
- Major rewrite of the OS X Core Audio backend code! This brings performance improvements, bug fixes, and general code cleanup.
- Remove all Objective-C code from sndOSX.mm, and change into a pure C++ file.
- Fixed audio noise issues that intermittently occurred while the emulation was running. This most often occurred after a ROM has been loaded.
- Fix possible crash on application exit.
2012-01-04 21:10:19 +00:00
rogerman 861308954f Cocoa Port:
- Bring back the build target for the v10.4 SDK in the XCode project. (This is for legacy support only. Do not use for new builds -- use the v10.5 build target instead.)
- Add "Info (Debug).plist", and remove the custom build script phase for adding external files to the .app package, replaced with file references in the XCode project. This fixes Debug builds so that they can compile again.
- Use UTIs in addition to file extensions for determining file types.
- Add new icons for ROM Cartridge Images (.nds), ROM Saves (.dsv), and Emulation Save States (.dst).
- Change default compiler to Clang/LLVM (but continue to use GCC 4.2 for ppc64 build).
- Add instruction scheduling optimization to ppc and ppc64 builds, slightly improving performance on PowerPC machines.
2011-12-28 23:50:09 +00:00
luigi__ 97b5a7ed1d MMU: add (experimental) support for writing to VCount. This is apparently required for proper multiplayer sync. 2011-12-25 18:17:36 +00:00
luigi__ 07ed2680a5 Christmas commit!
Wifi: adhoc: goal not reached but this is definitely a step closer. Adding some RX statistics and an experimental MP reply functionality, among others.
Mario and Luigi communicate a bit more but connection still breaks.
2011-12-25 14:59:52 +00:00
zeromus b547e6bd3b some matrix code cleanup leftover from olden times of more floating point in gfx3d 2011-12-12 21:37:06 +00:00
zeromus 55c0d8e32f win32-fix memoryview tool, which i broke some time ago 2011-12-11 20:28:13 +00:00
zeromus e3a1c15e83 add twltouch demo to tests directory 2011-11-29 23:13:12 +00:00
zeromus a2c7355b97 apparently we must support geriatric compilers for xcode, so do not use an enum size for new consoletype value or else it will get confused 2011-11-29 23:12:26 +00:00
zeromus 3f674a7cf6 fix minor bug in nds header decryption created when porting from ndstool (pointed out by #3445390) 2011-11-29 21:47:53 +00:00
riccardom ce4d0c9e10 task: use mac os x task implementation on other !WIN platforms too.
Thanks rogerman and pengvado.
2011-11-26 16:16:55 +00:00
zeromus 2d7b42dbf2 fix host memory clobber crash in new TSC code when the arm7 is acting wacky 2011-11-23 21:15:23 +00:00
zeromus 22a69c92d8 clarify debug console vs console type and add dsi main memory mapping 2011-11-23 20:32:12 +00:00
zeromus e101b54d21 * base DMA time accounting on MMU_timing infrastructure for slightly better estimate, and add system to lock ARM9 bus while DMA occurs. still not completely realistic, but fixes a number of freezes
* fix multithreading bug in rasterizer exposed by some OSX builds a few weeks ago
* remove --dsimode and --debug-console and replace with --console-type={fat,lite,ique,debug,dsi}
* add a zany hack to jitter the stylus position for frames which read it more than once; no human can hold his hands that still, and CSI polled for and demanded sub-frame touch motion for swipe gestures, it seems. this is a bit fishy.. it is still open for discussion.
* track raw ADC coords for NDS and screen coords for DSI independently.
2011-11-23 10:32:27 +00:00
rogerman ffcca74387 task (Mac OS X):
- Now uses a bool flag to check the thread state instead of checking the thread variable directly. This should make the code more compatible between FreeBSD-based OSes and Linux-based OSes.
- Changes the thread variable visibility from public to private.
2011-11-14 23:11:21 +00:00
zeromus c87c49c17d someone decides to check for null before deleting. someone else thinks its an error to do that. removing them to make ticket #3413784 go away. 2011-11-14 08:12:36 +00:00
riccardom bfab5b230f windows/filter: fix use of unitiliazed variable
Spotted by Merkil using cppcheck (#3413784)
2011-11-13 17:54:11 +00:00
riccardom 598baf257f path: shut up cppcheck " Unusual pointer arithmetic" error
[src/path.h:252]: (error) Unusual pointer arithmetic
2011-11-13 17:40:12 +00:00
riccardom f26e86a77f task: Add Mac OS X backend (#3414787)
As of October 2011, Mac OS X does not support named semaphores.
So instead of trying to rework the existing Linux code to work
with semaphores in both OS X and Linux, it's easier to reimplement
with pthread mutexes for just OS X.

From rogerman.

xrmx: fixed gcc warnings for storing NULL in a pthread_t.
Also while at it moved the includes on top.
2011-11-13 14:55:25 +00:00
riccardom f3d37a17a1 GPU: Fix compiler warnings (#3436995)
gcc throws some compiler warnings in GPU.cpp because it's
passing NULL for an u32 argument. NULL is only used for
pointers, correct should be to pass the numeric value 0.

From: hanno boeck
2011-11-13 13:51:23 +00:00
riccardom 1aa9ff3595 cheatSystem: free() needs stdlib.h 2011-11-13 13:45:52 +00:00
rogerman d4d045f9be - Allows the NDS input system to work on big-endian processors. 2011-11-07 07:29:53 +00:00
zeromus a51e28b3b6 dsi tsc work 2011-11-04 05:24:24 +00:00
zeromus 68d69a6d1d win32-as requested, a larger cheat list dialog 2011-11-01 21:23:46 +00:00
rogerman 9012f5426f Cheat System:
- Fixed a crashing bug in certain situations when if a bad AR cheat code is applied, would then cause an invalid memory access.
2011-10-29 20:18:55 +00:00
rogerman cf621a6665 - Fixed a crashing bug when reading from a cheat database, which would cause invalid memory accesses on 64-bit systems.
- Fixed a dangling pointer bug when reading from a cheat database.
- Fixed many potential buffer overflow issues related to C-string usage.
- Increased the memory allocation for cheat items to account for very large database entries. Also, the new behavior of any exported database entry that attempts to exceed the memory allocation is: Too big code size will not read. Too big description will be truncated.
2011-10-28 07:33:38 +00:00
riccardom d81bfe29de configure.ac: add a switch to disable gtk-glade frontend 2011-10-09 14:40:28 +00:00
riccardom 4bd6b84fef configure.ac: cleanup pkg-config stuff
Check pkg-config early so we fail early. So remove all the
module detection from inside pkg-config macro availability.
Group together pkg module check and autoconf / automake
related stuff.
2011-10-09 14:25:26 +00:00
rogerman b72acc0959 - Fixes compiling when trying to run a build target using the v10.6 SDK. Addresses bug #3418878.
- Adds a build target using the v10.6 SDK to the XCode project.
- Changes the default compiler from GCC 4.2 to LLVM w/ GCC 4.2. (Slightly improves execution speed.)
2011-10-07 06:44:06 +00:00
riccardom d6525883d9 windows: fixup filter compilation with gcc #3414832
From rogerman
2011-10-04 17:23:23 +00:00
zeromus b7ba91a0b9 it seems that really only pushes and pops affect the stack busy flag 2011-10-03 03:18:17 +00:00
zeromus 236e4b3374 fix handling of matrix stack busy flag (the fifo seems to track whether whether a matrix operation is pending and set flag if so; if a non-matrix command jams in a busy geometry engine then backed-up matrix command will cause the flag to get set). fixed wild west, which polls this flag to see when it is safe to read the matrix stack cursor while the geometry engine is jammed. our understanding of the gfx fifo behaviour is still incomplete.. 2011-10-03 03:04:35 +00:00
riccardom c73a7cb883 gtk: remove compat code for gtk version < 2.14 2011-10-02 14:46:10 +00:00
riccardom 10cb19b39f gtk: remove usage of depecrated functions
This requires bumping minimum gtk version to 2.14.
2011-10-02 14:44:11 +00:00
riccardom 8bd73be83f configure: add -Wno-reorder in hardcore mode
does not warn against different ordering between definition
and initialization in classes.
2011-10-02 14:30:25 +00:00
riccardom 048f0c292e firmware: Move firmware.dfc to Battery directory, #3349229
There currently is no official place for the firmware.dfc
file. The current behavior is to save the .dfc in the same
directory as the executable. Per zeromus' suggestion, the
.dfc will now be saved in the Battery directory.
This will be true for all ports that support DeSmuME's
directory structure.

Patch from rogerman.
2011-10-02 11:27:29 +00:00
riccardom fb9445ffa3 Better common fake mic, #3320744
This is the preliminary patch that adds different
behaviour to the comon fake mic implementation to better
match desmume feature set.

This patch adds the code for the missing feature before
changing the mic API.

From rogerman, #3320744
2011-10-02 09:40:42 +00:00
riccardom f4f0c50444 wifi: Don't dereference null pointer
This probably is not hit in practice but better safe than
sorry. Reported by cppcheck.
2011-10-02 08:12:35 +00:00