Project
September 12, 2009 04:21PM
All right, this is my first post, I will admit that it might be hard to take me seriously. However, I am a C++ programmer (working with the Windows API) and a MIPS programmer who developed many codes for PSP games. I am now looking into bringing my ideas to the Wii, but, I am not as handy when it comes to the Wii as I am with the PSP or computer.

I have a project that I would like to do, I want to make an application that will apply cheats to games. I then want to expand upon this and allow the user to make codes without a USBGecko, dropping $60 just to make codes is a bit crazy. This is a big project, so please don't flame me because this is my first post or anything.

I have a few questions for everyone to help get me started. What do I want to look into when it comes to applying changes to the Wii's RAM? What should I look into so I can boot the game that's currently in the Wii drive? I have started work on a non-GUI program that just waits for the user to press A. When the user presses A, the game in the drive should start.

Does anyone want to help me? I would greatly appreciate it, I know I can do it if I had a little push in the right direction.:D
Re: Project
September 12, 2009 04:57PM
you could try looking a the Gecko OS source code. And BTW, you dont need to make an app that will launch games with cheats, Gecko OS does that already. Although a software alternative to a USBGecko would be nice, especially if it had all the features (remote debugging, turning cheats on/off in real time, pausing game completely, screenshots etc.). My advice would be if you can manage to do what you plan, incoperate it into Gecko OS, instead of writing a whole new app. Just release it as a Gecko OS mod or something. That way, all the cheat and game (and channel) loading code is already there, without you having to worry about that.
Re: Project
September 12, 2009 05:17PM
What I am trying to do is develop a cheat device similar to that which was developed on the PSP. It allowed for many features, real-time cheat searching, enabling / disabling of cheats, memory viewer / editor, etc. I think this might be a bit much to have loaded into memory while a game is going, though I'm not sure. I will look into the GeckoOS source code to see what I can find, that would be much easier I imagine. Correct me if I am wrong, but I have to have a USBGecko to actually develop cheats, yes? If this is the case, what I am ultimately trying to do is bring code development to people who don't want to shell out $60 for one.

Thank you for the prompt feedback, I am hoping I get somewhere with this.
Re: Project
September 12, 2009 05:39PM
Yes, at the moment you need a USB Gecko to make codes. Its the only way to run a debugger currently during a game. However, if you could make an alternative, that'd be very useful for a great many people. Including me. I dont have a USB Gecko, but I'd be interested in doing some of the stuff you can do with one.
Re: Project
September 12, 2009 06:29PM
That is my goal, to bring cheat development to those who don't want to spend the money on a USBGecko. It was easily brought to the PSP so I don't see why it isn't possible to bring it to the Wii, too. Perhaps we could dump the Wii's RAM to the SD card and disassemble it on the PC to make codes, that's how it works on the PSP. If that proves unworthy I'll come up with other ways to debug a game live, much like USBGecko. We have working USB backup loaders, cheat appliers, Boot Mii and all this, I don't understand why nobody has taken the time to write a decent cheat application. (One with debugging and the like that doesn't require a USBGecko)

Right now, I am not too worried about a live debugging feature or anything so much as I am getting a game to boot from my homebrew application. I took a look into GeckoOS and it seems like a bit of dissecting that I have to do. I have coded the menu, it's a simple console window for now but I will add graphics and such later on. I am in the process of coding the SD file checking system, I figure I might as well do the easy stuff first. I took into consideration doing a modification of GeckoOS and releasing that, but with the stuff I want to add, I've decided that I want to code my own instead.



Edited 1 time(s). Last edit at 09/12/2009 06:30PM by Silo1337.
Re: Project
September 12, 2009 06:47PM
I think a live debugger would be more useful, but I've never actually written a cheat code in my life, so what would I know? Anyway, isn't it live debugging ont the PSP via PSPLink?
Re: Project
September 12, 2009 07:03PM
A live debugger would be easier for making codes, but probably more difficult to code than dumping the Wii's RAM to the SD card. I think it's called PSPLink, I was going to write a program for the PSP that would allow you to debug live, but my partner backed out last minute. So now, I'm here at the Wii, anyway, thanks for your feedback and hopefully I'll have some positive updates later on. I'm finishing up the SD file search and then I'm going to overlook the source to see if I can boot my game DVD from the homebrew application.
Re: Project
September 12, 2009 08:35PM
Did you ever see this [forum.wiibrew.org] Adds debugging without the hardware.
Re: Project
September 12, 2009 10:22PM
I think that is for debugging your own homebrew. This guy is talking debugging commercial games to find cheats.
Re: Project
September 13, 2009 01:45AM
Ah yes I see that now.

Well I wish you luck Silo, if you manage to create a useful app. I'd be interested to see it. I've got a lot of experience with game hacking on x86 but non on PPC.
Re: Project
September 14, 2009 05:45PM
I'm a bit out of my league on this one, but the way I see it you only really have 2 good ways to run code while a game is playing on the Wii. The debugger should be written into the IOS or into an app using MINI that is running the game. That is where I would try to start. If you can't figure out how to run your code while the game is playing, then you won't have much of a debugger and the rest of the project wouldn't be much use.
Re: Project
September 14, 2009 07:09PM
First of all, do you know that the Wii is running on 2 processors? That's an important "detail" you always have to keep in mind. The game runs on the ppc, and talks to the (some?) hardware by calling the IOS that is running on the arm.

To get your loader to work, i would use the code from another loader, there are
new Gecko OS:
[code.google.com]
modified old Gecko OS(label "Unoffical Gecko OS 1.07b with new 002fix, some game fixes and loading Ocarina from sd&usb"):
[wiibrew.org]
WiiMU:
[wiibrew.org]
(and some others)

And a "warez" loader i can't link here, but maybe interesting for you, since it's written in c++ and more straight forward to only loading disc games. I recommend the old Gecko OS code, as it's simpler and it's much more easy to rip the WiiRd and Ocarina code out of it. (you only need a part of the apploader.c and everthing that is called from there)

About the cheating/debugging itself, well, you have 2 choices:
1. Run it on the ppc, like Wiird and Ocarina. There you have the memory area 0x80001800-0x80003000 to play with, but you have to patch the .dol of the game somehow to run your code(see hooks in Gecko OS) and run into problems in multi .dol games. You may be able to use some other memory, but i think that changes from game to game.
2. Run it on the arm, write a modified IOS(or patch an IOS). Sorry i can't really help with that.

Quote
giantpune
I'm a bit out of my league on this one, but the way I see it you only really have 2 good ways to run code while a game is playing on the Wii. The debugger should be written into the IOS or into an app using MINI that is running the game. That is where I would try to start. If you can't figure out how to run your code while the game is playing, then you won't have much of a debugger and the rest of the project wouldn't be much use.

Do you have an idea how complicated it would be to run a game with mini? Mini would have to emulate all IOS commands, you would pratically need to rewrite an IOS for this to work.
Re: Project
September 14, 2009 10:26PM
Quote
Silo1337
I have a project that I would like to do, I want to make an application that will apply cheats to games. I then want to expand upon this and allow the user to make codes without a USBGecko, dropping $60 just to make codes is a bit crazy. This is a big project, so please don't flame me because this is my first post or anything.

The game assumes it has 100% of the cpu, even if you take 1% it could cause a hell of a lot of problems (more resource intensive games such as conduit or madworld may have troubles), also software based live remote debuggers will take up cpu power (just look at cheat engine for pc) so i am guessing that this maybe almost close to impossible
Re: Project
September 15, 2009 03:54AM
Quote
SteelSLasher
Quote
Silo1337
I have a project that I would like to do, I want to make an application that will apply cheats to games. I then want to expand upon this and allow the user to make codes without a USBGecko, dropping $60 just to make codes is a bit crazy. This is a big project, so please don't flame me because this is my first post or anything.

The game assumes it has 100% of the cpu, even if you take 1% it could cause a hell of a lot of problems (more resource intensive games such as conduit or madworld may have troubles), also software based live remote debuggers will take up cpu power (just look at cheat engine for pc) so i am guessing that this maybe almost close to impossible

True but the debugger is just for finding code injection locations it is not running with the cheat application. The cheat app usually injects into the code space and hijacks the PC to a cave.
Re: Project
September 18, 2009 09:30PM
mayb we can run the app from PC instead of using separate hardware. Can't we use the usb port in wii for bidirectional communication? for the interrupt source we can use gamecube controller. does this sound possible?
i havnt worked with usb ports b4, jus parallel ports. im guessing if this has to work we cant jus use generic usb wires, some sort of custom wiring would be required.
Re: Project
September 18, 2009 10:59PM
I don't know if it would be possible to use usb instead of an usb gecko. If it would work, it would be nice, i think you could make it even compatible with WiiRD then.

But:
1. I'm not sure, but i think usb code is larger than the usb gecko code, and the memory available for code is very restricted
2. I think it would be problematic on all games that use usb for anything themselves.
Sorry, only registered users may post in this forum.

Click here to login