This allows users to easily check whether their Wii dump is corrupted or not
using the Dolphin properties window. Right click on a game, Properties,
Filesystem tab, then right click on the game partition and select "Check
partition integrity".
This may have some false negatives due to the unused clusters heuristic (see
the comment in VolumeWiiCrypted.cpp). False positives are unlikely.
* JIT-Exceptions:
JitIL code cleanup
Changed the JIT code to make the FPU exception timing more accurate. The exception is now triggered at the first FP instruction instead of the start of the block. Rearranged the JIT exception code for a tiny speed-up. Only external exceptions are checked at the end of the block. All other exceptions are checked at the time they occur.
Fixes issue 5382.
Conflicts:
Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp
* AudioStreaming:
Reset the stream playing flag on init.
force VolumeDirectory to align files to 32KB (only streaming audio files really need to be aligned...)
Removed the DTK Music option. It is now always enabled.
Added the response for audio streaming disc offset requests. Generate an AI interrupt at the end of the audio streaming loop. Fixes Pac-man Fever and the background music in Eternal Darkness.
Fixed the erroneous looping in audio streaming games like Eternal Darkness and Zoids: Battle Legends. Thanks for the tip, tueidj.
Rearranged the JIT exception code for a tiny speed-up. Only external exceptions are checked at the end of the block. All other exceptions are checked at the time they occur.
some how I neglected to remember that r+ requires the file to exist.
still should fix the issue with 0 byte memory cards.
This reverts commit 6bfb8c9597.
This adds an "Analyzer" tab to the fifoplayer dialog which allows to conveniently browse through all register pokes that are being sent by the game each frame.
There's also a search function, but it doesn't work all that well for anything but simple searches at the moment. However, I'm merging this anyway since I'm not sure if I'm going to finish this.
Note that due to recent fifo changes, it's not yet possible to run fifoplayer in dual-core mode.
please test for regressions, speed and for other issues fixed, as a example, the black color in water splash in super mario galaxy are fixed with this rev.
please as soon as yo find a bug let me know.
a little code cleaning to avoid duplicated execution of AlphaPreTest and a little correction to some comments from the previous commits.
this change must behave exactly like last revision, if something is broken please let me know
The decided way to find Wii Remotes is by their bluetooth name, so
this patch introduces common code to identify if a given string is a
valid Wiimote name.
On Mac, when scanning bluetooth, consult the function with all found
bluetooth devices.
There are two ways to send commands to Wii Remotes:
- On command channel, with a first byte of 0x52. This works on
Nintendo RVL-CNT-01, but not Nintendo RVL-CNT-01-TR wiimotes.
- On interrupt channel, with a first byte of 0xa2. This works on
Nintendo RVL-CNT-01 and Nintendo RVL-CNT-01-TR wiimotes.
This patch switches Mac from the former to the latter. Windows and
Linux remain unchanged.
This reverts commit c9dfcf8cf7.
That commit attempted to support all Wii Remotes on Mac OS X, but the
logic was incorrect, and as a result the original (non-TR) Wii Remotes
were broken by that change.
Future patches will address this problem in a better way.
/fp:fast was introducing FP precision problems, and mixing it with some
/fp:precise code caused strange game behaviors, DSI exceptions and freezes.
This commit should fix most of the issues introduced by 3.0-73 (r95517a97).
Thanks to hatarumoroboshi@hotmail.com for tracking a lot of these Win32 bugs.
Fixes issue 4906.
Fixes issue 5138.
Probably fixes (not tested) issue 5067.
to marcosvitali.
Added an external exception check when the CPU writes to the FIFO. This allows
the CPU time to service FIFO overflows. Fixes random hangs caused by FIFO
overflows and desyncs like in "The Last Story" and "Battalion Wars 2". Thanks
to marcosvitali for the research.
Added some code to unlink invalidated blocks so that the recompiled block can be
linked (speed-up).
This release still fixed the hangs produced by fifo overflow without sacrifice
performance. For example you can test Tutorial moves at the beginning of The last history now
is fluid 30/60.
Fixed possibles random hangs in DC mode.
Fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
Implemented accurate management of Pixel Engine Interrupts. Now the GPU loop
is stopped when a PE Interrupt needs to be managed and resumed when Pixel Engine
finish.
Fixed Metroid Prime 3 and 2 desync. And other games with desync because of
FIFO Reset. That happens because FIFO_RW_DISTANCE_HI must be written first, for checking
fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right
way.
Fixed Super Monkey Ball in some cases when the game write the
WriteReadDistance need to be safe like the SafeCPRead.
Improved the CheckException for the GatherPipe writes in JIT, now only the
External Exceptions are processed.
Fixed definitely Pokemon XD in dual core mode. This game is doing something
not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer
mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If
the game do that on breakpoint the solution can fail.
Fixed ReadWriteDistance calc when CPRead > CPWrite.
Added Token and Finish cause to GP Jit checking.
Additional cleanup in CommandProcessor.
Fixes issue 5209
Fixes issue 5055
Fixes issue 4889
Fixes issue 4061
Fixes issue 4010
Fixes issue 3902
Don't use isascii() - just do it ourselves
Bump required wxw version (for shared libs)
There still seems to be linking issues on some linux distros, I can't reproduce it though...
(Just applied to FrameTools.cpp for now)
Allows one to properly restart Pokémon by hitting play :P
Ignore non-ASCII strings passed to DisplayMessage(). These strings would end up going to renderer display and statusbar/titlebar, which can't handle them properly.
Commit 9ddb67d4a9 seems to have
introduced a segfault on Mac. The issue is that it this change casts
wxConvCurrent (which is a wxMBConvLibc) to a wxCSConv. This is an
unsafe cast because wxCSConv has member variables, but wxMBConvLibc
does not.
In LogWindow.cpp, the constructor for m_SJISConv is dereferencing one
of those member variables, which is a dereference of uninitialized
memory!
This CL reverts to the older (non-crashing) constructor, but keeps the
behavior the same.
Fixed the JIT cache, invalidating one instruction length at a time.
Fixed a bug where the JIT cache did not get invalidated when stepping.
Disabled fused instructions in the debugger.
Sorry guys but I needed to disable stfs so that Pokepark 2 would not freeze(?). Feel free to put some effort in to finding out why, I do not understand Jit sorry.
We Didn't Check 0x0008000 in PowerPC::ppcState.msr this was killing the performance, this also fix a hang when this check is performed.
SMG for example.
Deleted the HiWatermark condition from GPFifo.
Please test games affected in this Revision 9e649ce798, and games affected in this Revision b0f75f17ae.
I do not want to excite the game players of 'The Las Story', but Could test again the random hangs with this rev?
Thanks
This fix is not related with the previous commits, but the previous commits help me to see that because in the new scenery SMB was hanging. May be in the past also doesn't boot some times because of that.
Please Test FZero boot also. Thanks.
The external exceptions in dolphin are checking frequently but is different to real HW, so sometime the game is in a loop checking GPU STATUS, the exceptions doesn't checked, and the game hang.\
For solve this I need a trick: still waiting for the exception handler be linked but if CommandProcecsor is reading the GPStatus, resume this.
This fixed "TimeSplitters: Future Perfect" broken in the Revision c2e6fdf09f and surely others games.
That happens because FIFO_RW_DISTANCE_HI must be written first, for checking fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right way.
I didn't test Metroid 2 desync reported in Issue 4336 but I think is the same.
About the flickering in MP2, I don't know for my is not related or yes, but you can test anyway.
Fixed Issue 3902
Well now the FIFO is 99.99% finished :)
- I've fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
- I've implemented accurate manage of Pixel Engine Interrupts, now the GPU loop is stopped when a PE Interrupt needs to be managed and resume when Pixel Engine finish,
I think now, the Fifo in DC mode is more accurate than SC mode. :)
Time to close the big fifo Issue 3694 (snif), please if you have a possible fifo issue report this like a game issue.
I was working with Skid_AU together, especially thanks for him.
Test a lot all games, and compare the performance with the master maybe this accuracy has a cost (not a lot).
I think now the fifo is very stable, overflow fixed, random hang fixed, if you have a game with a hang with this rev and not in master please report this.
For example you can test Tutorial moves at the beginning of The last history now is fluid 30/60.
Shuffle2: I've delete the hacky line, I think is not necessary anymore. Additional some clean in CommandProcessor.
Please test The Last Story and others games affected in the previous commits and give me a feedback.
return std::strings instead of filling a buffer,
move gci filename generation to a function inside gcmemcard instead of the gui code
change all functions that do not modify the object to const
Conflicts:
Source/Core/Core/Src/HW/GCMemcard.cpp
Source/Core/DolphinWX/Src/MemcardManager.cpp
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
memory cards that have gaps in the fst
Conflicts:
.gitignore
Source/Core/DolphinWX/Src/MemcardManager.cpp
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
This patch makes a few changes necessary for support for the new Wii
Remotes:
- For all OSes:
- Adds a new bool member variable m_motion_plus_inside to identify
the new Wii Remotes.
- If we have a new Wii Remote, use a head byte of 0xa2. We could
just change this behavior for all Wii Remotes, but an existing
comment suggests that would break 3rd party Wii Remotes.
- On Mac OS X:
- Expand the search criteria for the bluetooth scan. This is
necessary because the new Wii Remote identifies with minor class
kBluetoothDeviceClassMinorPeripheral2Gamepad, but the old Wii
Remotes use minor class
kBluetoothDeviceClassMinorPeripheral2Joystick (1).
- Send commands on the interrupt channel, not the control
channel. The new Wii Remotes require this; old ones are compatible
with this. Note: 3rd party Wii Remots are untested with this
change; the hope is they are still functional.
- Get the name of the bluetooth device and see if it ends in
"-TR". If so, set a member variable so we know it's the new kind
of Wii Remote.
This should fix issue 5011 for Mac OS X:
http://code.google.com/p/dolphin-emu/issues/detail?id=5011
To use the native code handler, place the kenobiwii.bin file into the Sys directory. Dolphin will silently fall-back to the emulated code handler if the file is not there.
Fixes issue 4561.
Use the clobber list instead of the stack to save rbx when executing the cpuid
instruction with inline assembly. This avoids breaking GCC assumptions about
the stack pointer location.
more specifically: if the emulator stops unexpectedly, it is quite possible that one of the shader cache files will have some bytes near the end that never got their values filled in. this change adds an index number at the end of each entry as extra verification that the entry is valid, so that invalid entries can be ignored (and eventually overwritten) instead of causing crashes.
To use the native code handler, place the kenobiwii.bin file into the Sys directory. Dolphin will silently fall-back to the emulated code handler if the file is not there.
Fixes issue 4561.
This is arguably better then using the slot0 device for slot1, because it maps
the real hardware better (nothing can be mounted on slot1 on a Wii AFAICT).
This also makes Kirby: Return to Dreamland work properly and fixes some of the
SD card problems (libs do not expect to have the same SD card mounted two times
in RW...).
This reverts commit 9a627e89fb.
The attempted Kirby: Return to Dreamland fix does not work properly and while
it fixes this particular game, it completely breaks SD card support on Dolphin.
BTW, I've never head of /dev/sdio/slot2 before...
Also re - implement the emulation issues column that was reverted, make it a bit bigger since sentences need more words and delete the issues portion of the emustate tooltip since it is unnecessary now.
This should make it so if you try to load an incompatible save, it simply doesn't load, instead of crashing dolphin. (I can't guarantee no crash but it's much less likely now)
The "Notes" column is gone and in it's place an "Emulation Notes" column is placed (it contains the emulationissues lines from the game inis). Notes that contain useful info about the game can be seen with just a glance this way.
Fixes issue 5043.
The "dsptool" executable is not included in the bundle.
The "tester" executable is not included in the bundle and it no longer
installed on other platforms, since it is neither expected nor useful
to install unit tests.
The code from 748be364e5 incorrectly accepted -0x100000000 on x86_64.
Also if ERANGE is returned by strtoul(), reject the parsed value regardless
of what that value is. This fixes invalid values being returned when compiling
with Visual C++. Thanks to "cotton" for testing this.
The following changes were made:
Restricted the "-march=core2" option to i386 because the first Intel Macs
had Intel Core CPUs, not Core2.
Removed the "-mdynamic-no-pic" flag as GCC lists it as a PPC specific flag.
Removed "-Wl,-read_only_relocs,suppress" because it seems to be related
to "-mdynamic-no-pic" and I see no need for it.
Removed "-Wextra-tokens -Wnewline-eof" because they are GCC specific and
not OS X specific.
This allows us to add keys that don't exist in the CMake template.
I added the keys from the Info.plist that was generated by our SCons build
to the new template.
Previously, there was just one list of frameworks regardless of which part
of the code depended on which frameworks. Now we keep separate lists for
the Dolphin core, the Dolphin GUI and internal use by wxWidgets.
To enforce SM2.0 compatibility, the OpenGL plugin was made to crash when
compiling a shader which does not fit in the SM2.0a limits. However, on some
combinations of OS/drivers/GPU, our shaders already do not fit in these limits,
causing artificial failures only to try to keep a non existant SM2.0a compat.
Basically, this sucks.
This commit increases the artificial limit to SM3.0. If you're using a GPU
which does not support SM3.0 and Dolphin works properly, this should not cause
any problem at all.
On x86-64, "unsigned long" is 64 bits wide, so it is possible for a number
to not trigger a range error on strtoul() but still not fit inside an u32.
An extra check is added to ensure that 32-bit and 64-bit builds will accept
the same numbers.
The previous computation was very likely to go out of array bounds,
which could result in crashes on EFB access.
Also, the cache size was rounded down instead of up. This is a problem
since EFB_HEIGHT (528) is not a multiple of EFB_CACHE_RECT_SIZE (64).
Passing MAP_FIXED to mmap causes already mapped pages in the requested
region to be replaced. On Mac OS X this caused pages for JIT-generatd
code to appear in the memory range previously auto-allocated for the RAM
of the emulated machine. This led to a hang at boot time. The same problem
can probably occur on FreeBSD, but not on Linux since MAP_32BIT is used
there instead of MAP_FIXED.
The solution is to not use MAP_FIXED, but instead rely on the OS honoring
the hinted address which is below 4 GB: we don't need an exact match,
just a low address.
- Fixes all (I hope) BBox-related unknown pointer crashes.
- Fixes wrong BBox values with Frame Skip on (and the resulting unknown pointer crashes).
- Fixes a small oversight on the change I made to the ISO Properties dialog.
This should also be a (very very little) bit faster than the previous version.
Should fix most graphical issues with Paper Mario: TTYD and Super Paper Mario. Fixes issue 360.
Since only those two games seem to require BBox support, and as per ector's suggestion, BBox is only enabled for those two games.
BBoxes and Display List Caches don't get along too well, causing Paper Mario: TTYD to hang during certain effects where BBoxes are used. For now, I disabled DList Cache for the Paper Mario games, hopefully both will be compatible in the future.
Most of the games using EFB peeks are suffering from major performance problems
when these peeks are not disabled in the graphics settings. This is an attempt
to fix this in the GL renderer by doing the glReadPixels in bulk: instead of
doing a lot of 1x1 pixel reads, read for 64x64 pixels at once and keep that in
a cache.
Deck menu in Baten Kaitos: 3FPS -> 54FPS
Character creation in Monster Hunter Tri: 7FPS -> 60FPS
Added GameCube Microphone support. Uses your default audio recording device. The Microphone is selectable from the Slot A/Slot B pulldowns under the GameCube tab. The Microphone button can be set under GCPad configuration for pad 1 and 2. Thanks to MooglyGuy and skidau.
zcomploc is a feature of the BP which switch depth test from before the alpha
test to after the alpha test. This way, transparent fragments are written to
the depth buffer too.
The current implementation is quite hacky and does not cover all cases but is
enough to fix problems in a lot of game. A complete implementation would
require a multipass rendering method and is attempted in the
zcomploc-experimental branch.
According to testers feedback, fixes bugs in the following games:
- Baten Kaitos
- Baten Kaitos Origins
- 007: Everything or Nothing
- Ty the Tasmanian Tiger
- Tony Hawk's Pro Skater 3
And probably other games too.
Conflicts (because of new-shadercache-uids):
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
In previous revisions of Dolphin, changing texture generation settings (via
GX_SetTexCoordGen for example) did not regenerate the vertex shader and flush
the vertices. Adding this flush should fix texture problems in a few game, for
example in Superman: Shadow of Apokolips:
Before: http://i.imgur.com/mHmfb.jpg
After: http://i.imgur.com/2ThES.png
- don't load shader cache from disk in d3d9/11 if shader debugging is enabled (we won't have any info about the source shader code otherwise, etc)
- dump shader source codes on safe UIDs mismatch
Thanks to LordMark and [SS] for reporting those to me ;)
hopefully this will be the last code change committed directly to master for a while... :/
next is cmake to replace scons on osx hopefully. pointers anyone? (soren?)
Uses a single page for configuring ALL wiimotes now.
Due to the use of wxWindow::NewControlId, this might increase our wx version requirements (irrelevant for windows users). Works fine with wx 2.8.10 at least, but the docs aren't more specific about when wxWindow::NewControlId was introduced. If anyone doesn't like this, I'll change it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7692 8ced0084-cf51-0410-be5f-012b33b47a6e
Also, don't check to see if a directory is a wad file. They aren't. This removes an annoying and invalid debug assertion with the debug build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7682 8ced0084-cf51-0410-be5f-012b33b47a6e
Also fix the wxMessageAlert called from non-gui threads in the WXGTK build to use the passed caption.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7678 8ced0084-cf51-0410-be5f-012b33b47a6e
Also if the OpenGL backend throw a panic alert if the RGB to/from YUYV shaders fail to compile instead of an error log. If these shaders fail to compile it should be reported. I am not sure that a panic alert should be thrown in general when any shader fails to compile (as was discussed on IRC).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7677 8ced0084-cf51-0410-be5f-012b33b47a6e
See comment #6 for more details on the changes to WII_IPC_HLE_Device_usb.
In addition to that, rework some comments a bit (such as those from the
original patch; plus Ayuanx's one about maintaining Wiimote timing, which lost
relevance since r7272 which made Wiimote::Update timing independent from IPC
timing), and remove an unused global variable (event for watchdog hack)...
In short, this should address *some* of the Wiimote disconnection and/or "forgotten extension" problems that appeared with r7272 and/or r7394. To prevent the "ACL queue is full" warnings from appearing (View->Show Log), pay attention to the amount of enabled Wiimotes (use as few as possible, connect the extra Wiimotes only when needed), and make sure to disable the "Disable Wiimote Speaker" option (if unneeded or causing problems) in the game properties. If possible, make sure to use real Wiimotes instead of emulated ones, as well.
If Wiimotes disconnect forever (and cannot be reconnected using the Alt+Fx hotkeys), open the Wiimote config window, set the faulty Wiimote's type to "None", close/reopen the window, and set the previous Wiimote type back.
Note that it's not a *complete* fix for issue 4608! This only fixes about half (or maybe third) of the possible causes of this issue... But at least this should make the accurate Wiimote emulation (I mean, with the limitation of the ACL queue included) more usable in some cases (such as multi-player).
Nope, I didn't (and can't yet) perform in-depth tests on the real hardware myself (unlike some developers), I just rely on the given "accurate" code and numbers (such as the 10-packet limit implemented by godisgovernment)...
Maybe I'll get to fixing other problem "causes" (if I feel like doing it), maybe not in a while... After all, I have other hobbies, and it's the summer holidays for me...
Anyway, feel free to test and comment.
Update issue 4667
Update issue 4608
Update issue 4604
Update issue 4583
Update issue 4436
Update issue 4353
Update issue 4013
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7675 8ced0084-cf51-0410-be5f-012b33b47a6e
This is mostly useful for removing SHLs by constant 1, 2, 3, which this
commit implements in one place.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7652 8ced0084-cf51-0410-be5f-012b33b47a6e
requires NG-id, NG-key-id, NG-priv, NG-sig
sorry for not fixing this sooner, I forgot that I cleared my wiis private keys before the initial commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7642 8ced0084-cf51-0410-be5f-012b33b47a6e
Renamed OnFrame.cpp/h to a more accurate Movie.cpp/h. Made some small changes that may improve movie synchronization.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7620 8ced0084-cf51-0410-be5f-012b33b47a6e
Also don't try to save and load states when the emulator is not running. This should fix most of issu 4600.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7607 8ced0084-cf51-0410-be5f-012b33b47a6e
Judging by the feedback provided by other OSX users, this appears to fix the crash when starting Dolphin on OSX with devices that have an empty name.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7598 8ced0084-cf51-0410-be5f-012b33b47a6e
It turns out that this (somewhat) gets rid of memory-related exceptions which used to occur (especially) during 8-bit cheat searches. At least this is the case with my computer that has 3GB of RAM (the issue didn't seem to be caused by 100% of RAM usage, however).
Hopefully you'll be able to perform the following steps without errors now:
1. Open any game in Dolphin;
2. Go to Tools->Cheats Manager, and open the "Cheat Search" tab;
3. Preferably set the "Data Size" to 8-bit (the smaller, the more initial search results);
4. Press the "New Scan" button;
5. Use the "Unknown" search filter (which won't narrow the results down at all);
6. Press the "Next Scan" button.
(oh, and fix a typo in a comment I introduced in r6791 :p)
Anyway, make sure to tell me any eventual errors/regressions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7596 8ced0084-cf51-0410-be5f-012b33b47a6e
Removes the ugliness that was the portable file, and now creating a shortcut or file association is less of a pain
it is still necessary to modify the file association from ".../dolphin.exe" "%1" to ".../dolphin.exe" /e "%1"
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7593 8ced0084-cf51-0410-be5f-012b33b47a6e
This makes button spacing more consistent and uses the native button order of the OK/Cancel/... buttons.
(Mostly) fixes issue 4390.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7581 8ced0084-cf51-0410-be5f-012b33b47a6e
Left unselected, dolphin defaults to nstc-u and sets ntsc-j if the iso is japanese (old behavior).
Selected, ntsc-j is forced.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7580 8ced0084-cf51-0410-be5f-012b33b47a6e
sliders being unresponsive during emulation. Fixes issue 4496.
wxw complaining about non-stock menuitem without text (sysmenu menuitem).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7579 8ced0084-cf51-0410-be5f-012b33b47a6e
- Moved display related options in the "Display" tab from the general config to the gfx config, renamed the tab to "Interface"
- Moved Wiimote related options in the "Wii" tab from the general config to the wiimote config
- Moved various other options to more appropriate places ("Set Console as NTSC-J", "Skip GC BIOS"
- Dropped "Window Size" adjustment
- Now displaying a warning if one tries to enable software rendering
- Other minor changes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7577 8ced0084-cf51-0410-be5f-012b33b47a6e
changes fs getusage to return 1 additional inode to account for the directory itself
Fixes save creation for at least two games, R8XE52 (Jurassic: The Hunted), STEETR (Tetris Party Deluxe)
doesnt harm save creation in any games that i tested (about 25)
also it is now possible to boot a nand title by selecting the tmd file using File > Open
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7575 8ced0084-cf51-0410-be5f-012b33b47a6e
if you have a sysconf from r7568-this revision that was used for a wii game unfortunately it is corrupted, either delete it and start with a new one, or clear out the number of wiimotes in btdinf (change to 0) using a hex editor
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7571 8ced0084-cf51-0410-be5f-012b33b47a6e
I believe this makes Dolphin more reliable than GCNcrypt v1.1 which seems to add (prepend) a buggy line when decrypting...
- Split lines using SplitString() once more (as done with ' ' and '-' already), instead of relying on find() and substr() and the (size_t)line variable.
- Rename some variables, use a for() loop instead of a while() loop.
- Apply the StripSpaces() function to each line before attempting to parse them as encrypted/decrypted AR code lines. Without this, lines such as "B1PD-DXRQ-GTRKM " (notice the unexpected space character) would be recognized neither as encrypted nor as decrypted, which could result in badly decrypted codes (a problem I had tried to explain here: http://forums.dolphin-emulator.com/showthread.php?pid=153532#pid153532).
- For the sake of error-checking, after pressing OK, throw a warning in the following situations: when a line of code is not in a valid encrypted or decrypted format, and whenever the resulting decrypted code doesn't contain any lines.
(did I do any mistakes?)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7569 8ced0084-cf51-0410-be5f-012b33b47a6e
some little corrections in dlist cache code, i thing they will not have effect in the remaining issues but now the code behaves more correctly in some situations.
i discover the solution for the remaining issues bur requires some changes in the vertex translator so will work on them after the upcoming Release.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7556 8ced0084-cf51-0410-be5f-012b33b47a6e
when nand root is changed the current sysconf is saved,
and the sysconf in the new location is either loaded (if exists)
or the default sysconf is created
wii menu item is updated when the root changes
small fix to saving gamelist paths to .ini paths that are removed from the gui are now removed from the ini instead of simply changing the number of paths
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7555 8ced0084-cf51-0410-be5f-012b33b47a6e
GH5 Loads again
use the existing function instead of checking titleid each time a NANDLoader is needed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7547 8ced0084-cf51-0410-be5f-012b33b47a6e
So, clarify this by rewriting the "tooltip" for the Free Look option. This should close issue 2882 and its duplicates.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7546 8ced0084-cf51-0410-be5f-012b33b47a6e
add ticket to CNANDContentLoader
move wad installer to CNANDContentManager
system menu can now be launched from a wad file without being installed first, (return to system menu from another title will still only work if system menu is installed)
cdb.vff: flushed to disc immediately, creates if the file exists but is too small, moved creation to Boot_WiiWad
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7530 8ced0084-cf51-0410-be5f-012b33b47a6e
now if you install the sysmenu from a wad in the gamelist the menubar will be updated with the new sysmenu version
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7528 8ced0084-cf51-0410-be5f-012b33b47a6e
we already copy the file to memory here, now we also copy the file to
1/2/data/
This should really fix issue 4287.
Thanks to hosigumayuugi for finding the exact cause of the issue
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7521 8ced0084-cf51-0410-be5f-012b33b47a6e
XGRA Extreme-G Racing Association/Conduit 2... Enabled 48kHz output for LLE (before it was just 32kHz). I hope it works, if there are serious problems, it will be reverted.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7511 8ced0084-cf51-0410-be5f-012b33b47a6e
Saving a state that is not recording over one that was will now delete the old recording. Fixes trying to record with the wrong savestate.
Fixed some compiler warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7505 8ced0084-cf51-0410-be5f-012b33b47a6e
(At least for Super Mario Sunshine, from whose ucode it was derived - hopefully this won't break other games.)
Fixes Issue 4437.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7504 8ced0084-cf51-0410-be5f-012b33b47a6e
fs::open does not need to create the data directory, es_diVerify does that.
change applied to CBoot::Boot_WiiWAD as well (es_diVerify isn't used for wads).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7503 8ced0084-cf51-0410-be5f-012b33b47a6e
- Fast Mipmaps enabled
- Safe Texture Cache enabled at "fast"
- showing shader errors by default
- using Native as internal resolution
- using EFB to Texture by default
- ignoring EFB format changes by default (turns out r7436 made this in Super Mario Sunshine unnecessary anyway :P)
Any game which depends on other settings has that specified in the game ini, so I think this should be fine.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7497 8ced0084-cf51-0410-be5f-012b33b47a6e
Show FPS, Input Display, Statistics, Projection Statistics, EFB Copy Regions, Dump Textures, Dump EFB target, Dump Frames, Free Look, Use FFV1, Show Shader Errors, Texture Format Overlay, WireFrame, Hotkeys and Adapter
- Also removed various game ini config values which were still parsed from the Video section.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7489 8ced0084-cf51-0410-be5f-012b33b47a6e
- Introduced a description text field (!!)
- Fixed ALL setting descriptions
- Various other string changes
- Removed the projection statistics setting
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7488 8ced0084-cf51-0410-be5f-012b33b47a6e
Note: Newest nVidia drivers break Dolphins 3D (270.xx), not sure why yet, gonna ask around. It really confused me though when trying to fix this issue, spent at least an hour trying to figure out what the hell was going on. I eventually realised a build I knew worked in 3D was having issues...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7487 8ced0084-cf51-0410-be5f-012b33b47a6e
- added a "Hacks" tab for everything which speeds up emulation
- regrouped stuff in a more sensible way
- Renamed some options to be less confusing.
- by disabling ALL checkboxes, you'll get the most accurate / recommended configuration now
- Merged the ATC options to a single slider with 4 values (with the rightmost being "ATC off")
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7486 8ced0084-cf51-0410-be5f-012b33b47a6e
- fixed a problem/crash which occurs with some gcc versions (in general on Linux systems, issue 4400)
- other minor GUI changes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7472 8ced0084-cf51-0410-be5f-012b33b47a6e
Fix a minor icon issue in the game properties dialog.
Use a little hack to deal with spaces in file names. Need to find a better way to deal with this.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7470 8ced0084-cf51-0410-be5f-012b33b47a6e
This makes sure they are below 2G on 64bit systems,
allowing us to continue using the simpler 32bit accesses.
Fixes issue 4357 and issue 4397.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7465 8ced0084-cf51-0410-be5f-012b33b47a6e
Also move the primary translation pot file to the external repository to facilitate updating translations when strings in the code are changed. Now the only time the primary dolphin repository needs to be changed for translations is when a new language is added.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7438 8ced0084-cf51-0410-be5f-012b33b47a6e
- Added final support to string type (planned implementation reaches 100%)
- Added support to post processing shaders (OpenGL backend)
- Code Maintenance:
- Reorganized the class hierarchy
- General polishing... deleted some redundant code
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7437 8ced0084-cf51-0410-be5f-012b33b47a6e
+ Added "Reset To Default" functionality for per-game profiles.
- Solved a window centering problem that occured during switching between Default Profile and a Per-game Profile.
+ Added final & complete support to reflect changes on the fly and real-time in all cases (even when you edit Default profile).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7416 8ced0084-cf51-0410-be5f-012b33b47a6e
In assembly, these are 'ld $ax0.d,$ax1.r,@$arS with their n,m and nm variants,
which have been special cased for S==3. The regular 'ld can be decomposed
into lrri $ax0.d,@$arS and lrri $ax1.r,@$ar3, while the S==3 case decomposes
to lrri $axR.h,@$arD and lrri $axR.l,@$ar3. The latter variant will be
disassembled to 'ldax $axR,@$arD after this change. The assembler recognizes
both the new 'ldax variant and the old 'ld with @$ar3 but the disassembler
only outputs 'ldax. Besides the readability, this allows for more correct
register use analysis(when it's done).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7413 8ced0084-cf51-0410-be5f-012b33b47a6e
Also, if the render window size changes while frame dumping, scale the resulting video to prevent clipping on linux. This is a complete fix for issue 4316 on linux. I don't know how to implement this on windows though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7412 8ced0084-cf51-0410-be5f-012b33b47a6e
* LLE dspinit hax (demo disks, zelda collectors edition, ocarina of time working (again) with lle)
* LLE interpreter "DSPonThread" working again
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7409 8ced0084-cf51-0410-be5f-012b33b47a6e
Hotkeys now work when running 3D Vision. You've just got to select the render window first (as in click on the fullscreen image), don't ask me why, it's something to do with RendererHasFocus in Frame.cpp. Annoyingly, escape crashes the emulator and the screenshot button doesn't do anything, though I guess any other hotkey should be working. I wouldn't usually commit this but I remember someone really wanting to be able to connect their Wiimote while in 3D, so I figured I might aswell.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7396 8ced0084-cf51-0410-be5f-012b33b47a6e
- Removed recent ghanges about separate per-game Video Settings
- Added "One Window 3-State Support" (very close to full implementation)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7391 8ced0084-cf51-0410-be5f-012b33b47a6e
I knew it would be something tiny. 3D Vision is fixed now, I'll make this 3D Vision specific if it causes any problems, but I've tested it and it seems fine.
For anyone interested, because fullscreen wasn't set for wx first, the menus and stuff were being included in the size of the frame (which is being used for the backbuffer size), so it was getting 1920x1062 or something weird like that (for 1080p). In the render function, it then checks to see if the frame resolution is equal to any supported resolution and if it isn't, bumps you down to 640x480, apparently an unsupported 3D Vision mode... though now I think about it, I'm not sure why it wasn't messing with regular fullscreen mode.
This would have been so much easier with a working mouse...
I'm not even joking, my replacement mouse just arrived at the door...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7388 8ced0084-cf51-0410-be5f-012b33b47a6e
It now works in the debug builds, but not in release builds for some reason. I'm not used to big projects like this so it's probably something obvious that I'm missing. Exclusive full screen mode seems to need the fullscreen resolution for the backbuffer when the DX device is created, so I used adapters[adapter].resolutions[f].xres and yres to get that, but in release builds, that gives me the windowed resolution (in debug it give me the fullscreen res, like I believe it's supposed to), which it reallly doesn't like.
It's not a difficult fix probably, but I've been staring at my monitor in confusion for too long now and need to get to bed. If anyone wants to test, you can still enable the 3D Vision option, it just wouldn't be 3D (obviously).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7385 8ced0084-cf51-0410-be5f-012b33b47a6e
Reading the instruction from memory at the given address and using that
as index in the opTable leads to more correct results than using the
address as index into opTable.
Also assert when trying to execute a bad instruction instead of crashing
without warning.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7384 8ced0084-cf51-0410-be5f-012b33b47a6e
With wxWidgets 2.9.2 now in Externals, SCons was the only
external dependency other than Xcode and building just SCons
from Macports caused a fair mount of extra stuff to be built
unnecessarily, so just include a copy of scons-local.
Always build wxWidgets from Externals which allows us to get
rid of the home-grown autoconf machinery in SconsTests.
The main use case for args.cache was the wxconfig option,
which is no longer relevant after the above changes and
caching options has a lot of potential for confusion,
especially since other build systems don't tend to do this,
so we no longer do it now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7381 8ced0084-cf51-0410-be5f-012b33b47a6e
* Moved the config validity check to reflect the emulator enforced settings at the config dialog
* Removed some obsolete validity checks
* Corrected "EnablePixelLighting" typo in the ini files
Fixes issue 4277.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7374 8ced0084-cf51-0410-be5f-012b33b47a6e
A repeat count of zero still executed the instruction once. Fixes Zelda Ucode
audio crackling.
Fixes DSPLLE audio in: Luigi Mansion, Pikmin, Super Mario Galaxy,
Zelda CE, Zelda Four Swords, Zelda WW, Zelda TP.
(Thanks LM for testing)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7370 8ced0084-cf51-0410-be5f-012b33b47a6e