Gecko dotNET release thread (version 0.65 now!)

Started by Link, January 03, 2010, 01:33:37 PM

Previous topic - Next topic

hetoan2

FST reads no longer work :S

i have only tried on OSSleepThread and AXNextFrame, but they worked before on CoD:MWR and now they're not. I assume it is because of GeckoDotNET


Check out my site with codes obviously...
http://hetoan2.com/

and youtube...
http://youtube.com/hetoan2

dcx2

#136
Do other codes cause a similar problem, or is it just codes like that one?  I don't have Wii Sports Resort, so I can't test it.  But Gecko.NET pauses the game before applying codes and unpauses the game afterward.  This is because applying C2 codes multiple times can freeze some games; this happens with WiiRDGUI too.

By "pause", I mean "set an execute breakpoint at the entrance of the code handler".  This way the processor doesn't stop execution while the game is doing something.  It's possible that the game did not "unpause" after the codes were applied (I had a similar problem with pausing during code searches).  Always at least try clicking the run button and/or reconnect, because the only times I have seen a true "freeze" is when it's trying to dereference a bad pointer with load or store.

Also, that last line is in fact necessary.  It not only resets ba/po (which is unnecessary), but it also does end-if (which *is* necessary).

EDIT:

missed hetoan's comment.  I've never played with the FST stuff, I'm not even really sure how it works.  Link will have to chime in on that one.

wiiztec

Quote from: REDSOXROX on April 04, 2010, 06:54:42 AM
The new Gecko dotNET has been awesome so far, great work!
However, today I came upon a bug, it seems.
It started when I tried to use this code:
infinite cycling stamina [wiiztec]
20DEEFEC 00000003
04DEEFC0 7F800000
E0000000 80008000

In Wii Sports Resort USA.
First time, tried applying at the menu, game froze, but code worked when applied in the actual cycling game; I assumed it was poor testing. So, I've been spending the last 6 hours or so trying to make it not freeze at the menu, getting extremely confused when nothing worked that looked to be very obviously correct. Even the original code itself looks to be just right, other than the unneeded last line.
Finally I decided it could be a bug in GDotN, and started the original WiiRD, and the original code (and the other 3 versions I came up with) work, without freezing. Now I'm extremely confused- this seems to have been a problem in the code handling, which Gecko OS does- not GDN. Is it a problem with if CTs? But I also made an ASM version without If's, and it works fine, but freezes whenever I try to load the menu when applied through GDN.
Did I miss a file or something? Could someone else test that code in dotNET? I'm very confused here :P

The last line is not unneeded any conditional (if) code needs an end if at the end the E0000000 80008000 serves this purpose
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen

REDSOXROX

Ooh right my bad, forgot about needing endif :D
I'll try the reconnect button- I always tried pressing run, never realized reconnect might help as well.

Wiiztec, does your code work for you in dotNET?
Red Sox vs. Yankees 4/4/2k10 Season Opener
Red Sox: 9 Yankees: 7 Final!

REDSOXROX

I tried pressing reconnect, disconnecting, reconnecting and running several times, still stays frozen. Although it does indeed not seem like a complete freeze; I can still access memory, disassembler, FST, etc, and the music still advances when I press run (as in, the beeping pitch changes)
It seems almost like it is stuck in pause where run goes to the next frame, but the video does not change at all like it would if next frame was pressed.
Red Sox vs. Yankees 4/4/2k10 Season Opener
Red Sox: 9 Yankees: 7 Final!

dcx2

When I get an opportunity, I'll provide a checkbox to disable the pause-while-applying-codes.  I hope that might solve your problem, but I'm not sure why you're having the issue in the first place.

What if you remove the 04 write and just leave the 20 if and the E0 terminator?  Does it still cause problems?

20DEEFEC 00000003
E0000000 80008000

hawkeye2777

Quote from: dcx2 on April 02, 2010, 05:39:49 AMIn USBGecko.cs, I switched the preprocessor directive to build the Mono build.

How did you do that exactly? My knowledge of C# is quite lacking, so I'm not exactly sure if I'm applying the right changes.

Quote from: dcx2 on April 02, 2010, 05:39:49 AMHowever, when I go to run, it tries to connect but then it gets upset when it tries to marshal the byte[] readBuffer that's inside the ftdi_context struct.  I guess the MonoDevelop I installed doesn't support debugging, because it won't hit the breakpoints I set.  I tried changing the byte[] to an IntPtr and it gets a little farther, but still dies.

Did you install MonoDevelop through the repos? If so, which packages did you install?
Currently "retired" from hacking codes.

dcx2

I'm gunna make a separate thread regarding the quest to make Gecko.NET work in mono.  In the mean time...

Quote from: hawkeye2777 on April 05, 2010, 10:30:46 PM
Quote from: dcx2 on April 02, 2010, 05:39:49 AMIn USBGecko.cs, I switched the preprocessor directive to build the Mono build.
How did you do that exactly? My knowledge of C# is quite lacking, so I'm not exactly sure if I'm applying the right changes.

At the top of USBGecko.cs, add the line "#define MONO".  I'm probably going to add some code to FST.cs that also checks for MONO and comments out the IconReader stuff.

QuoteDid you install MonoDevelop through the repos? If so, which packages did you install?

I'm looking in the Synaptic Package Manager right now.  I've got Monodevelop 2.0+dfsg-2ubuntu3.  Now that I'm taking a closer look, I also see two debugger plugins, Mono Debugger and GNU Debugger...I guess one of those might be useful for running Debug builds, huh?

hawkeye2777

#143
Quote from: dcx2 on April 05, 2010, 11:04:02 PM
I'm gunna make a separate thread regarding the quest to make Gecko.NET work in mono.  In the mean time...

Ok, I'll move Mono talk there as soon as you make it.

Quote from: dcx2I'm looking in the Synaptic Package Manager right now.  I've got Monodevelop 2.0+dfsg-2ubuntu3.  Now that I'm taking a closer look, I also see two debugger plugins, Mono Debugger and GNU Debugger...I guess one of those might be useful for running Debug builds, huh?

If you'd like the latest version of MonoDevelop, try running these:

sudo add-apt-repository ppa:directhex/monoxide
sudo apt-get update
sudo apt-get install monodevelop monodevelop-debugger-mdb monodevelop-debugger-gdb


The first line adds a PPA with the latest version (2.2.1) of MonoDevelop (located here); the second updates your sources, then the last installs those specific packages (along with their dependencies). In case you don't want to mess with PPAs, the following should work as well:

sudo apt-get install monodevelop-debugger-mdb monodevelop-debugger-gdb

EDIT: I forgot that the Mono stuff coded into GDN is Linux specific from what I saw, so more OS-specific checks would have to be made for libraries like libftdi.

EDIT (2): I can confirm that breakpoints work on my end with MonoDevelop from the PPA (with those packages installed).
Currently "retired" from hacking codes.

dcx2

Gecko.NET 0.60 test build r50

Memory Viewer addresses are now black instead of white

various Memory Viewer selection bugs, like changing page, changing tabs, changing view mode, pageup/pagedown

various Memory Viewer display bugs; up/down address text box changes by 0x10 instead of 0x100, up/down arrow keys work properly now, shift+up/down arrow keys will move page without changing selected row/column

SplitContainer for breakpoint tab's registers and disassembly, so the user can resize them

Checkbox to pause while sending codes

Checkbox to confirm Breakpoint-style Next instead of less accurate Pause/Wait/Resume-style Next

Remembers the window size between runs, so you don't have to resize it each time.  If you think of any other values that you'd like to have remembered between runs, just ask in the request thread.

dcx2

I was going to try to do more, but Visual Studio Express Edition suddenly refused to start until I registered (WTF?  It's free!), which requires making a Windows Live account.  Really irritating...


Gecko.NET 0.60 test build r51

up/down beside Memory Viewer Address text box changes by 0x100 again, like pre-r50 builds

Memory Viewer Address text box supports keyboard up/down arrows to change by 0x10, and pageup/pagedown to change by 0x100

dcx2

test build r52

Fully functional Memory Viewer scrollbar control that can do 0x10 changes if you click on the arrows, 0x100 changes if you click above/below the scroller, can drag the scroller around, etc.

Search result context menu Memory Viewer shortcut and Show Mem button on breakpoint tab now center the target address in the Memory Viewer so you can see above and below it

In Memory Viewer, the full byte-aligned address that the mouse is hovering over now appears, instead of just the last hex digit

Pressing the Enter key in the Memory Viewer address text box now jumps the memory viewer to that entry

Added "New Code" to the GCT Code Wizard dropdown names so you can create a new, blank code

dcx2

test build r54

Just about everything that changes the selected Memory Viewer address will try to center that address in the viewer grid

Pressing Enter in the Memory Viewer address box selects that address

Fixed Memory Viewer scrollbar range exception

Added Disassembler to Memory Viewer context menu

Added Memory Viewer to Disassembler context menu

Breakpoint's Show Mem now works with stwu

Panda On Smack

Cheers dcx

What else are you planning?

Zetta_X

This is exciting, I have been keeping up with this thread for a while and can't wait to use geckodotnet again.