Commit Graph

6 Commits

Author SHA1 Message Date
Léo Lam c785352c6f Add common Wii SDK function signatures to the signature DB
The signature DB is very helpful for generating a symbol map for games
which don't ship with debugging symbols, since it includes signatures
for common SDK functions.

However, it isn't very complete and only contained signatures for GC
games -- the current database isn't very helpful for Wii games, which
still have a huge number of unknown functions even after using this DB.

Yet Wii games typically share a lot of code (since they all use the
SDK), and not having symbols makes it a lot harder to look into what
a game is doing… So this commit adds common Wii SDK function signatures
to the database, in order to make generated symbol maps a lot more
useful for Wii games.

The debug info comes from the debugging map that was left in the Wii
version of The Legend of Zelda: Twilight Princess. To avoid cluttering
the DB with game-specific debug info (even though it already contains
some game-specific symbols), some basic filtering was done on the
shipped symbol map:

    egrep '(section layout|\.a|m_Do|lib|Lib| OS)' tp-framework.map | grep -v Z2 > common-wii-sdk.map

Then this map was loaded in Twilight Princess, and "append to existing
signature file" was used to append the new hashes to totaldb.dsy.
2016-12-09 23:40:06 +01:00
skidau 95f6685900 Changed the HLE system to allow it to hook the beginning, the end or replace the entire function without changing the GC memory. Fixes Kirby's Return to Dreamland.
Added a way to categorise the type of HLE function.  Currently, there are debug, floating point, memory and generic functions.
Added a HLE function for OSGetResetCode (Warm reset).  Fixes the CSI games.
Added a switch to disable all of the HLE functions if the idle skipping option is disabled.
2012-12-28 14:26:46 +11:00
skidau fbdf9ba153 Added preliminary support for ES_LAUNCH (Wii Multi-boot games) by using HLE to hijack the OSBootDol function.
Metroid Prime Trilogy is working.  Wii Sports+Wii Sports Resort is not working.  Any games which can be played using the dol replacement trick should work here.

Suspect that the DOL's are meant to receive an argument list which has not been catered for in this code.  This probably also means that the Metroid Prime Trilogy games are locked in Veteran difficulty for the time-being.
2012-12-26 23:06:42 +11:00
Shawn Hoffman a80429b020 Fix the wiimote speaker problem in the core and remove the HLE patch for it.
Real wiimote tested on windows, untested but should work on linux, dunno about osx.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7272 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-02 12:06:06 +00:00
skidau d92aad4430 Added Wiimote speaker support by hack patching out the IsBusyStream function using HLE. DSP LLE is required to process the speaker data. This commit works with real Wiimotes. I have added the code to decode the audio from the emulated wiimotes but have not added the code to output their audio to the PC speakers.
* Added HLE function IsBusyStream which signals that the Wiimote is ready to accept speaker data.  This function is not a conversion from the real PPC code.  It a simple function that returns the "ready" status after being polled.
* Added code to find and patch HLE functions on boot
* Added 4bit Yamaha ADPCM decoder from the ffmpeg project
* Removed some test code
* Added some copyright notices

Fixes issue 438.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7225 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-22 12:48:35 +00:00
Shawn Hoffman ffe1a671ea added files and svn ignore settings to the new file structure
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1069 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-04 21:20:12 +00:00