Codes
WiiRd forum
March 29, 2024, 05:19:55 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Welcome on the new server

Update 4.3 - do NOT update!
Gecko 1.9.3.1
Should I get a USB Gecko, I wanna hack?
How do I use my USB Gecko
Where can I get WiiRd?
 
   Home   CODE DATABASE GAMEHACKING Help Search Login Register  
Pages: 1 ... 27 28 [29] 30 31 ... 52
  Print  
Author Topic: Gecko dotNET Bugs and Requests  (Read 120220 times)
dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #420 on: April 23, 2011, 05:24:57 PM »

Yeah, they *say* it only goes down to 2...

I have a timing function built into Gecko.NET's logger.  I timed 100 "status" commands.  This involves one byte going to the USB Gecko and one byte coming from it.  I always got 100 * SetLatencyTimer's value.  When I changed it to 1ms, I got 100 ms for 100 status commands.

I also know that you can queue multiple dumps in a single transfer.  So, a given memory transfer requires sending 9 bytes to the USB Gecko (cmd_readmem, start address, end address).  It turns out that if you stream like this in one chunk, I think you actually need to send the command *twice*, so you actually send 10 bytes...I don't know why, but one of the bytes gets lost, I think even after applying the rx/tx patch.

If you want to dump six areas of memory, you could send 60 bytes in one go.  You should send a pause command first.  When the code handler has "paused" the game, it will basically sit and poll the EXI bus, so it can run through all your dumps as fast as possible before sending a resume command.

---

Another alternative to SetLatencyTimer is the Event Character, but I'm not sure how to use this yet.  Currently, I fancy hacking some VC SNES games...

See this guide for more info on.  Note that the USB Gecko is FT245R, a FIFO and not a UART.

http://www.ftdichip.com/Support/Documents/AppNotes/AN232B-04_DataLatencyFlow.pdf
Logged

biolizard89
Hacker
Sr. Member
*****

Karma: 22
Posts: 373

passport.10.biolizard89@spamgourmet.com biolizard89 biolizard89
« Reply #421 on: April 23, 2011, 07:13:46 PM »

Yeah, they *say* it only goes down to 2...

I have a timing function built into Gecko.NET's logger.  I timed 100 "status" commands.  This involves one byte going to the USB Gecko and one byte coming from it.  I always got 100 * SetLatencyTimer's value.  When I changed it to 1ms, I got 100 ms for 100 status commands.

I also know that you can queue multiple dumps in a single transfer.  So, a given memory transfer requires sending 9 bytes to the USB Gecko (cmd_readmem, start address, end address).  It turns out that if you stream like this in one chunk, I think you actually need to send the command *twice*, so you actually send 10 bytes...I don't know why, but one of the bytes gets lost, I think even after applying the rx/tx patch.

If you want to dump six areas of memory, you could send 60 bytes in one go.  You should send a pause command first.  When the code handler has "paused" the game, it will basically sit and poll the EXI bus, so it can run through all your dumps as fast as possible before sending a resume command.

---

Another alternative to SetLatencyTimer is the Event Character, but I'm not sure how to use this yet.  Currently, I fancy hacking some VC SNES games...

See this guide for more info on.  Note that the USB Gecko is FT245R, a FIFO and not a UART.

http://www.ftdichip.com/Support/Documents/AppNotes/AN232B-04_DataLatencyFlow.pdf
Yep, I read that PDF while developing GeckoTunnel; GeckoTunnel uses a 2ms latency timer.  That's quite interesting that 1ms works on a USB Gecko.  So here's a question, what happens when you use 0?  The FTDI docs for the hi-speed chip say that 0 should eliminate the delay completely... if 1 works for the USB Gecko, I'm quite curious whether 0 does anything.  (I wouldn't expect it to work, but I wouldn't expect 1 to work either....)
Logged
BLiTz*
Hacker
Newbie
*****

Karma: 0
Posts: 4


« Reply #422 on: April 27, 2011, 09:34:45 PM »

Could you add a random search method?
Let me explain:
The random search method would search an area specified by the user.
Then the user could do something. Say move a little.
The user would start the search again.
The program would then search again for the values changed.
The ones that didn't change would be removed from the table.
Simple enough right?
Logged
biolizard89
Hacker
Sr. Member
*****

Karma: 22
Posts: 373

passport.10.biolizard89@spamgourmet.com biolizard89 biolizard89
« Reply #423 on: April 28, 2011, 01:12:37 AM »

Could you add a random search method?
Let me explain:
The random search method would search an area specified by the user.
Then the user could do something. Say move a little.
The user would start the search again.
The program would then search again for the values changed.
The ones that didn't change would be removed from the table.
Simple enough right?
Forgive me if I misunderstand, but isn't there already a "not equal" search type present?
Logged
BLiTz*
Hacker
Newbie
*****

Karma: 0
Posts: 4


« Reply #424 on: April 28, 2011, 01:14:47 AM »

Could you add a random search method?
Let me explain:
The random search method would search an area specified by the user.
Then the user could do something. Say move a little.
The user would start the search again.
The program would then search again for the values changed.
The ones that didn't change would be removed from the table.
Simple enough right?
Forgive me if I misunderstand, but isn't there already a "not equal" search type present?

Yes but this method would speed up the time it takes to find a "unkown" address, because it  only returns what addresses changed. and then you can trim it up some. and you got ur address
Logged
dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #425 on: April 28, 2011, 02:24:16 AM »

That's been there since before I took over development.  Look a little more carefully through the Search Condition dropdowns and you'll see Unknown Value.
Logged

James0x57
Database Admin
Leader
Legendary Member
*****

Karma: 70
Posts: 1546

Gamertag: James0x57


WWW
« Reply #426 on: April 28, 2011, 02:35:26 AM »

It's only unknown the first search- after that you compare to a previous result.
Logged


Dude
Full Member
***

Karma: 4
Posts: 117


« Reply #427 on: April 28, 2011, 07:21:43 AM »

That's like the "changed" comparson search type in CheatEngine.

It already exists in Gecko.NET.  It's called "not equal".

It compares all addresses with the last memory dump for anything that has "changed".
Start an "unknown" search, then choose "not equal" from then on.  this will compare the new dump with the old dump for anything that changes.

------

Talking about CheatEngine though, I've got a suggestion:
Would it be possible to search for 8bit, 16bit and 32bit values in one search?

Let me explain.

normally, you'd have to choose either 8bit, 16bit or 32bit before searching.  You'll then be stuck only finding values of that size.
In CheatEngine, you are able to search for all value sizes in one.

If 3F800000 then becomes 3F900000 then you could list in the results:

"3F900000"  -32bit
"3F90"        -16bit
"F9"           -8bit
"90"           -8bit

You could put the size of each value in a new column at the end to show what it is, just for simplicity.
This would, however, require more memory on your PC/laptop due to the increased number of results.
Keeping the individual 8/16/32bit choices can be kept for searching for values that you know are within a set size, narrowing results.
« Last Edit: April 28, 2011, 07:23:40 AM by Dude » Logged
Deathwolf
Hacker
Legendary Member
*****

Karma: 62
Posts: 1795


WWW
« Reply #428 on: May 08, 2011, 06:56:11 PM »

The new Gecko dNet 0.65 screws my USB Gecko up as hell. After a few minutes it says "lost connection" and it freez. When I try to restart it, then I'm not able to connect anymore to my USB Gecko. Tried it over XX times. There's something wrong...
But the 0.64 works great.

Memory viewer bug:

I've no idea but sometimes my game freez when the "Update button" is activated. The values are changing sooo fast that I can't follow them anymore. Is it because I'm using USB 3.0?
« Last Edit: May 08, 2011, 06:59:35 PM by Deathwolf » Logged

lolz
dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #429 on: May 08, 2011, 07:08:31 PM »

Because of the under-the-hood C2 patches that are applied to the code handler, whenever Gecko.NET connects to the USB Gecko, it has to send codes.

I noticed today that if Gecko.NET attaches to the game while at the loading screens, it would cause a crash.  I assume this is because of how BPNext + Sending Codes works.  Wait until the game is at the first menu screen before you run Gecko.NET.

---

Others reported MemView problems if they didn't have an updated version of the USB Gecko driver.

No, the values are not changing fast because of USB 3.0.  The USB Gecko is limited to Full Speed (aka USB 1.1 speed). 
« Last Edit: May 08, 2011, 07:10:05 PM by dcx2 » Logged

BLiTz*
Hacker
Newbie
*****

Karma: 0
Posts: 4


« Reply #430 on: May 12, 2011, 01:16:27 AM »

Sometimes when the gecko freezes(the game is still running) i unplug the cord from my computer. and it comes up with a box about connection issues. so then i plug it back in
and click yes.
the search, reset, buttons are still faded, so i have to reconnect again. could you fix this?
Logged
dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #431 on: May 12, 2011, 03:00:13 PM »

"when the gecko freezes"

Which Gecko?  Gecko.NET, USB Gecko, Gecko OS?  Were you doing something when this happened (Memory Viewer, Search, Breakpoint, Watch List, etc?)

I've known about the "have to reconnect twice" bug.  Just pressing the button twice is so much easier that I just never felt like trying to figure out what was going wrong.  It doesn't cause an error or data loss, so it was no big deal to me.
Logged

Arudo
Crazier-than-thou
Moderator
Hero Member
*****

Karma: 64
Posts: 1004


(╯°□°)╯︵ ┻━┻ щ(゚Д゚щ)


WWW
« Reply #432 on: May 14, 2011, 11:10:38 PM »

I don't know if this is just my computer's issue or something with Gecko dotNet but I do notice when I open Task Manager, gecko dotNet's process is still running even though I've closed it, disconnected it from the USBGecko etc. Thoughts on this dcx?
Logged

-Crazy Hacker Hates You All (definitely)-

ノಠ益ಠ)ノ彡┻━┻

Do NOT PM me about Code Requests

Pro-tip: Hit the Applaud Button

Oh? Failed to read the rules? You're already dead.
dcx2
Computer Engineer
Moderator
Legendary Member
*****

Karma: 165
Posts: 3468


WWW
« Reply #433 on: May 14, 2011, 11:49:37 PM »

Sounds like the Watch List not closing properly.  0.65.1 will ask you to try closing again.
Logged

Arudo
Crazier-than-thou
Moderator
Hero Member
*****

Karma: 64
Posts: 1004


(╯°□°)╯︵ ┻━┻ щ(゚Д゚щ)


WWW
« Reply #434 on: May 15, 2011, 12:30:02 AM »

In regards to that, does the Watchlist just open in the background even if I don't use it?
Logged

-Crazy Hacker Hates You All (definitely)-

ノಠ益ಠ)ノ彡┻━┻

Do NOT PM me about Code Requests

Pro-tip: Hit the Applaud Button

Oh? Failed to read the rules? You're already dead.
Pages: 1 ... 27 28 [29] 30 31 ... 52
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!