Commit Graph

115 Commits

Author SHA1 Message Date
42908c5b2e Remove any wx-specific code from Core.
Move NetPlay code from DolphinWX to Core.
Even NetPlay with nowx should be possible now if anyone felt like implementing a CLI for it ;)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7119 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-08 15:36:15 +00:00
cc289a05bb Turn back on unit tests in SCons.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7057 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 01:02:06 +00:00
6d70c14d12 In the SCons build, skip the generation of static libraries
and just operate on lists of object files instead.

This helps with LTO since LLVM/clang LTO is completely broken
by static libraries. It also helps identify symbol clashes
between components like the former plugins.

Many linkers also expect static libraries to form a strict DAG
which turns out be a difficult rule to uphold in practice,
especially since some of our platforms aren't picky about this.

LTO builds currently appears to crash at runtime because of
the static wx libs.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7056 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 00:46:56 +00:00
dfe84ce0ac Removed the Lua script console and Externals/Lua. The script console was incomplete and no one was working on it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7051 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-03 20:41:23 +00:00
5a800b765a Some more work on renaming variables and files to reflect that the plugins are no longer plugins.
Fix another minor issue with frame dumping.
Add the graphics config dialog button back to the main config.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7041 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 16:34:12 +00:00
0e91e5b238 fix windows (vs2010) build
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7010 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 06:08:46 +00:00
8822674653 Fix *BSD build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7002 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 03:02:23 +00:00
18bb65b300 Fix OS X build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6997 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 01:53:57 +00:00
b3a183dffe Core and DSPCore now have mutual dependencies, which breaks the
assumption on the part of many linkers that static libraries make
up a DAG, so merge libdspcore into libcore.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6967 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 14:06:48 +00:00
1287a9bb9f Be a little more careful about the use of SSE.
We really need to adopt the GCC model of one instruction set
per compilation unit.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6965 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 11:40:20 +00:00
08b923a163 Fix OS X build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6951 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 21:27:49 +00:00
419d6a244b DSP plugin merge - the two DSP plugins are now gone and all the code has been merged into Dolphin.
This WILL temporarily break the Linux and MacOSX builds but should be easy to fix.

Things left to do:
  * The UI on the new Audio tab for the LLE/HLE choice is ugly
  * At times the code still look "plugin-y" and needs cleanup
  * The two plugins should be merged further. DSPHLE should use the emulated memory etc of DSPLLE as much as possible, so that simply saving the DSPLLE state is enough. This would also bring the possibility of savestate compatibility between the two plugins.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6947 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 18:39:30 +00:00
254cb161f4 Update SConscript for osx too. Also update some of the languages and add Brazilian Portuguese to the windows build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6867 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-16 20:21:25 +00:00
28ef121a93 Revive io_osx.mm revision history and reapply the changes in r6693.
Avoid sending the Wii OS bluetooth packets with uninitialized data
past the nominal length of the report.

XXX IOWin.cpp still always returns MAX_PAYLOAD because I don't have
a Windows environment to test with.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6708 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-01 14:57:19 +00:00
8e184171e7 Remove wiiuse, and use our own code. Works on linux and windows. On OSX it should compile, but I don't know about functionality. Even on linux and windows I can't promise this is bug free (wiiuse certainly wasn't). Please report issues as you find them for all platforms.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6693 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 02:10:07 +00:00
18e95ecdfa EXI: grab the FlashID from the memory card headers and update sram to include correct id and chksum
allows using any (valid) memorycard.raw in any slot (including real memcard dumps)

Fixes issue 684.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6576 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-14 01:25:50 +00:00
739c9eb2df Allow building without bluetooth support.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6273 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-12 23:39:16 +00:00
e81a10fb44 Temporarily re-enable SDL pad input on OS X.
Placeholder SConscript for VideoMerge plugin.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6272 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-12 22:26:30 +00:00
a89b8f4a7d Fix scons build.
OS X real wiimote support not yet tested post-merge.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6271 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-12 20:14:09 +00:00
7e08fc19fc Moved WiimoteNew into Dolphin and eliminated the old wiimote plugin. Removed wiimote plugin support. Moved input dialog related InputUICommon stuff into DolphinWX. Removed now unused InputCommon files. UDPWiimote stuff is temporarily disabled until it is reorganized so Core won't depend on wx. Real wiimotes are now initialized on first need(wiimote diag open or game start) and left initialized until Dolphin exit.(maybe this will work better for Linux/OS X) (scons probably needs some fixes)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6270 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-12 19:42:29 +00:00
fb36de2338 WIP Gecko(ocarina) code support: There are a bunch code types that need coding/fixing/cleanup, but many codes should be functional. The game properties and "Cheats Manager"(formally Action Replay Manager) dialogs now have a "Gecko Codes" tab to view/enable/disable codes. Currently, you must click "Edit Config" and manually add your codes to the [Gecko] inifile section of your gameinis for them to be displayed.(same format as the AR codes) I'm going to add Add/Edit dialogs similar to the AR codes and support codes with modifiers. I added the new files to scons as best as I could without testing :p.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5930 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-22 01:48:48 +00:00
a2b1f829cb Get rid of a number of unnecessary env.Clones.
Use SCons' convenient # shorthand for the root of our tree.
 
Also various minor cleanup of SConscripts.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5915 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-19 03:42:37 +00:00
0284a7a1df Some more attempts at cleaning up the scons build and more clearly
identifying which options and parameters go with which platforms etc.

OS X, like Windows, now no longer uses Config.h. Configure() is still
used for the wx-config parameters, but that is a temporary measure.

Globals.cpp has never been used.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5860 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-09 01:26:53 +00:00
d18085c3ad Don't bother using autoconfiguration to find the OpenCL and Cg
frameworks on OS X.

Try to be a little clearer about which configuration options apply    
to which platform(s). Should pave the way slightly for win32 scons. 
 
We have accidentally been using LUA_USE_LINUX on OS X all along.
Turns out that LUA_USE_MACOSX is for an ancient version of OS X and
LUA_USE_LINUX is a reasonable set of defaults for modern Unices, so
just keep using that.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5804 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 19:17:43 +00:00
53a86c5d19 probable linux build fix, thanks cnu.
also remove an unnecessary logging line.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5674 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-13 10:14:53 +00:00
ecffc03e9e Typo.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5672 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-13 09:34:17 +00:00
8cae2fee56 Merge the pad plugin into Dolphin. Since there's only one plugin left under active development, and it's awesome, we no longer have a need for a pad plugin mechanism.
In the future if we merge wiimote too, this will bring the advantage that the two will be able to cooperate, to no longer fight over control of input devices which can sometimes cause problems.

Thanks shuffle2 for the patience.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5670 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-13 09:14:40 +00:00
a3c96ac42c Warp back to 5578. Sorry for the lost changes, please re-apply. Reason: 5579 is a complete disaster.
Not only does it change tons of files to switch to a new and non-working (it doesn't parse my ini files, at least) ini parser, it also reshuffles a lot of code and removes a plugin. The latter part is fine, but doing these two major switches in one revision, one of which is broken, is completely unacceptable. I said to merge tiny changes, not massive reworkings.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5589 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 18:05:08 +00:00
89aeda83a3 Compile fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5582 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 06:13:09 +00:00
664cea45c7 Meta:
Using Unix tools to operate on a tree containing filename with spaces in them
is really annoying, so rename the handful of instances where there were spaces.

Host.cpp has never been used.

Games tend to lookup the following directories that we don't yet have anything
to put in, so prepopulate them in Data/User/Wii:

title/00010001
title/00010002
title/00010003
title/00010004
title/00010005
title/00010006
title/00010007
meta
shared2/title
 
Set eol-style native on a number of text files which didn't already have it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5572 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 18:00:22 +00:00
c455673f87 Added scons options "shared_libname=true" to link agains the system shared libraries for lzo, sfml, and soil. For example add the scons option "shared_lzo=true" for lzo. This will check for the system libraries and then fall back to building and linking statically against the Externals if not found. You must have liblzo2-dev, libsoil-dev, and libsfml-dev installed. Note that you need version 1.5 or later for sfml. Currently scons doesn't check the version for you.
If you are having trouble with segmentation faults in linux try "shared_soil=true".  That seems to fix the problem.  How do we fix this for the static build?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5182 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-09 22:17:33 +00:00
303769d31c Revert commit 5105 until we sort out how we want this to work in linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5110 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 16:10:08 +00:00
73d575c5c2 On linux don't compile and link against lzo, soil, and sfml "Externals."
Instead use system libraries liblzo2-dev, libsoil-dev, and libsfml-dev


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5105 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 00:39:38 +00:00
7de17cb9c2 SFML on linux/osx now compiles from external (static)
removed HAVE_SFML ifdefs


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5101 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-21 20:09:49 +00:00
d2a3dd435a remove gbapipe from the SConscript
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5099 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-21 18:57:56 +00:00
05b1bfd733 linux build fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4894 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 19:50:31 +00:00
576990c5a3 JitIL is no longer a separate .exe/binary - it's now a simple option, Dolphin.exe now contains both cores.
Advantages:
* Less confusion for users
* No need to build twice to make sure you didn't break something
* Easier to switch between the cores for testing

Disadvantages:
* None, as far as I can tell :) Maybe some extra code complexity, but not much.

Also break some include chains that caused <windows.h> to get included into everything, slowing down the build on Windows. There's more to do here though, there's still a lot of files that get it included that don't need it at all.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4891 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 19:28:27 +00:00
59e7c19380 drkIIRaziel reversed engineered the frsqrte instruction providing hardware accurate emulation.
The algorithm and lookup table are 99% accurate which is far better than the approximation that Dolphin had previously.

The frsqrte instruction is used for a lot of 3D graphics functions so this change may help fix graphics glitches.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4864 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 04:29:44 +00:00
1848e93790 RIP "Optimize Quantizers" option. Now using the safe quantizer code from JITIL in all builds.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4854 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-16 19:00:09 +00:00
32c74c6481 cleanup wii usb keyboard a little - really needs to use inputcommon or something...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4597 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-21 10:25:27 +00:00
60f142ce96 Begining of porting the luainteface to linux + some other small fixes.
(could use some help with lua macros)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4515 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-08 08:54:09 +00:00
93b83f8d65 Add tmbinc's patch for triforce emulation.
This adds triforce-specific SI and EXI devices, as well as changes DI behavior when in triforce mode. (Selecting both AM devices from main config will force the DI into triforce mode)
Also fixes up a few EXI bugs dealing with interrupts and the like (memcard insertion should work well now, and maybe BBA can progress farther :> )
Also adds real "null" EXI devices, so software won't think the dummy device is some strange unknown device anymore.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4437 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-19 15:14:48 +00:00
480b648ed5 change references to this strange "bios" thing to BS2 internally, IPL for gui stuff (figured it's easier...) :)
dolphin loads unmodified bootrom dumps now, instead of pre-descrambled ones.
-should we allow loading pre-descrambled dumps still?
yes, segher is a supercomputer!
also make it so we only display the "failed to load fonts" message when they are accessed, like bushing suggested

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4395 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-11 16:16:18 +00:00
56214e9103 Moving pixel engine and command processor from core to video common. This will break previous save states. Adds decoding single pixels to texture decoder.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4391 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-10 21:19:39 +00:00
4c22bea4d4 Add ability to use Reset (reset button interrupt, still figuring out the other reset modes)
Add support for button combos that are built-in to controllers:
y+x+start for three seconds updates the origin
b+x+start for three seconds resets
Changed CPeripheralInterface to a namespace and renamed to ProcessorInterface

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4366 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-06 15:49:20 +00:00
b843378636 Lots of work on JIT (Implemented "unlimited instruction cache" CPU emulation. Works in JIT and JIT IL). Implemented correct PowerPC instruction cache (IC) emulation in the interpreter mode (including HID0 cache management stuff). Removed the "dcbi->dcbf" hack (again... this time it shouldn't break anything ;) )
Fixes issue 917. Fixes issue 1183. Fixes issue 1190. (those are really need to be verified)
Maybe fixes something else. Maybe breaks something. I can't test everything, so please report if you find out something.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4357 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-03 12:29:27 +00:00
51ddedf512 Frameskipping! Complete with GUI! Even my most naive approach resulted in great speeds, even with graphic-intensive games such as Pikmin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3949 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-08 01:39:56 +00:00
9cbfadb885 Added the per-frame action manager. Implemented all TAS features: Auto Firing/Holding, Frame Advance. They all work perfectly (test it yourselves by changing the globals), they just need some GUI.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3947 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-07 16:03:57 +00:00
3ebf5a5f1f Roll back R3801. Dolphin works again. Seriously, if you're not even testing huge freaking changes like this...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3807 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 20:15:34 +00:00
6802f885b1 Tons of reworking of the cores to make them more...generalized, not quite there yet, but great progress. Near impossible to break this up in to smaller chunks, and may break Windows building. Can not yet switch between JitIL and JIT during runtime, but it is on my list to do.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3801 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 16:59:53 +00:00