Originally posted by dnawrkshp
View Post
Announcement
Collapse
No announcement yet.
CL-LiveDebug v4 Beta
Collapse
This is a sticky topic.
X
X
-
You can write a game-specific code for it. Most games already have a pre-built CDVD library you can call and perform disc operations. For example, SOCOM: Combined Assault had pre-built IOP reset, CD stop/start, ELF launching functions all built in. I was able to write a code utilizing those functions to perform a memory dump while in the game and logged online without any errors. I don't know if every game has pre-built functions like that, but if the one you are hacking does you can always do things that way. The only set back would be compatibility is limited to what you've hacked already to do this with.
-
Did you ever post any of your Socom or Shadow of the Colossus codes anywhere?Originally posted by Gtlcpimp View PostYou can write a game-specific code for it. Most games already have a pre-built CDVD library you can call and perform disc operations. For example, SOCOM: Combined Assault had pre-built IOP reset, CD stop/start, ELF launching functions all built in. I was able to write a code utilizing those functions to perform a memory dump while in the game and logged online without any errors. I don't know if every game has pre-built functions like that, but if the one you are hacking does you can always do things that way. The only set back would be compatibility is limited to what you've hacked already to do this with.Last edited by 47iscool; 06-24-2013, 04:37:15 AM.
Comment
-
I'm going through final little bugs now, even though I'm not sure where dnawrkshp went. There's going to be a lot of EDITs to this post.
1. Nothing important, just an odd thing with setting the buttons to use to enter livedebug. The configuration is this when you download it:
I use that, go into options, it shows every button other than those 2 for entering livedebug, and configuration changes to this:Code:debugger: { pkt_alloc = 0x00090000; eh_alloc = 0x000a0000; regd_alloc = 0x00080000; jok_combo = 0x[COLOR=#ff0000]0000[/COLOR]fff9; };
I then restart livedebug like that and the buttons correct themselves and the configuration file becomes this:Code:debugger: { pkt_alloc = 0x00090000; eh_alloc = 0x000a0000; regd_alloc = 0x00080000; jok_combo = 0x[COLOR=#ff0000]00000006[/COLOR]; };
It's not really a problem. I'm guessing you are using a lw or lh operation for the joker instead of like a lhu.Code:debugger: { pkt_alloc = 0x00090000; eh_alloc = 0x000a0000; regd_alloc = 0x00080000; jok_combo = 0x[COLOR=#ff0000]ffff[/COLOR]fff9; };
LW or LH give you this:
FFFFFFF9
LHU gives you this:
0000FFF9
That's what I used after Pyriel told me about it when I was doing the paused based memory scanner.
I tried the new option from the livedebug GUI to manually enter a new preset joker and let it get the game ID from the game disk, and that worked perfect.
I then tried it again but put in the gameID myself using all caps letters because I didn't want to test whether it would refuse small letters. I did Silent Hill 4 and put in "SLUS_208.73", selected enter, then put in the preset joker. I noticed the version number wasn't after the game ID or after the joker if that was missed.
For a while I couldn't figure out why none of the preset jokers I entered into the configuration file wouldn't work. I realized I forgot to put a "," comma mark after the game version number, so I guess that wasn't a bug, I just had to enter it manually in the GUI to see what it did differently.
I haven't really had a game that would be a good test for actually finding codes. I popped Lego Batman in and it will be perfect since lego studs are everywhere along with enemies and health.
EDIT 1: Every first scan I do always tells me
Total Results: 000013EC
With any search query:
00100000
01FF0000
0000000000000000000000000000000000000014
And that scan is instantly done every time no matter what value or address range I select.
Every 2nd scan always takes too long too. I've been waiting 3 minutes and have given up. I'm a little confused if it just takes a while, because I remember my pause based memory scanner always taking less than 20 seconds to scan the entire EE, and any 2nd scan was always 3 seconds at the most. Going through the results of the first scan is always the same too. It starts like this:
00000030
00000001
00000001
00000001 & 00000001 to no end.
I tried Next Search: Changed for a next search to see if things changed and everything froze when I selected Next Search.
EDIT 2: At the search area, if I try selecting bits higher than 128 everything garbles and instantly freezes. I also don't know if it matters, but the value in Search starts as 00007465736572206F74205452415453. It doesn't look familiar to me as ASM code. Then I noticed changing it changes the text below. Going from that value to all 0s changes the bottom from:
Text: START to reset
to:
Text:
If I knew how to compile the code maybe I could try fixing it myself, but I don't know if it's open or at sourceforge or anywhere.
EDIT 3: I left the search start and stop addresses as 00100000 for both and search for the value 0x00000028 since I had forty Lego studs. It had 1 result. Something's wrong if that is the address because it definitely isn't. I then did next search again and gave up waiting because it should have only taken 1/10000 of a second. I really should have tested this part, I was far too focused on game compatibility and GUI stuff since I didn't have a good and obvious test candidate for code searching like Lego Batman.
EDIT 4: I've noticed that any stopping address that isn't identical to the starting address always gives me 000013EC results. Start at 00100000 and end at 00100100 and it's still 000013EC results even though that isn't possible. I switched it to 16 bits and still had that. I then changed the search type to != instead of =, it searched forever and I gave up waiting.
EDIT 5: I went into memory view and saw addresses 00100000 to 00100008 were value 0000000 00000000. So I set the scan range to 00100000 to 00100010, 32bit, and = only to get 000013EC results instantly. Set to != and gave up waiting for the search. I then set Start to 00100010 and Stop to 00100000 just in case they were reversed, and with = it was 1 result. No matter what value I had, if Start was higher than Stop and it was = scan then it was always 1 result, and its value was 00000030 like far above. !=, <, & > were always 0, =, <=, & >= were always 1. At this point there is no more I can think of doing for testing.
Does anybody know where dnawrkshp went?
For a good thing:
SLUS21785 Lego Batman = Needs a preset joker of address 01F5F2C2, and works perfectly everywhere for compatibility.
SLUS20328 Greatest Hits Tekken 4 = Needs a preset joker of address 01CC9A82, works fine at the main menu but the game doesn't resume if you exit the livedebug menu while playing whether it's while fighting or paused.
For anybody that adds codes here on this site, you can add both of those jokers to the database since they don't exist anywhere else on the web.
EDIT 6: I didn't realize the link to the source was on the first page. I don't know how to compile things or do anything beyond ASM, but I'll take a glance and see if my head explodes.Last edited by bungholio; 06-24-2013, 01:48:37 PM.
Comment
-
you have power to add your own codes to db, but I will added to db for youOriginally posted by bungholio View PostFor a good thing:
SLUS21785 Lego Batman = Needs a preset joker of address 01F5F2C2, and works perfectly everywhere for compatibility.
SLUS20328 Greatest Hits Tekken 4 = Needs a preset joker of address 01CC9A82, works fine at the main menu but the game doesn't resume if you exit the livedebug menu while playing whether it's while fighting or paused.
For anybody that adds codes here on this site, you can add both of those jokers to the database since they don't exist anywhere else on the web.lee4 Does Not Accept Codes Requests !
When lee4 asks a question it does not mean lee4 will look at your game
*How to create and use SegaCD codes >click here<*
Comment
-
I just checked the source. I have absolutely no idea of where in those files anything has anything to do with the scans. Looking at C is infuriating. I can't see anything that even makes me think for 1 second it is somehow involved in the actual scanning processes from all of the labels and comments. There's no way on Earth I could even attempt to find and fix anything. All I see is strings in main.c within void WriteLabels(void), but nothing before or after that makes me think it is in any way involved in the whole scanning for codes process. Is there a file missing from the entire source? Does anybody have some insights?
@Lee
I entirely forgot that was mentioned to me many months ago and I've never needed to use it. I'll remember next time.Last edited by bungholio; 06-24-2013, 03:04:40 PM.
Comment
-
Go to the folder C Exports/CodeDesigner Sources and the CDS files are there. They are loaded into the kernel on Start Game (load_elf()) and hooked. LDEngine has all the searching related stuff. I am assuming the reason that it takes so long to search is because of the jal to the vsync. If that were removed it would run a lot faster.Originally posted by bungholio View PostI just checked the source. I have absolutely no idea of where in those files anything has anything to do with the scans. Looking at C is infuriating. I can't see anything that even makes me think for 1 second it is somehow involved in the actual scanning processes from all of the labels and comments. There's no way on Earth I could even attempt to find and fix anything. All I see is strings in main.c within void WriteLabels(void), but nothing before or after that makes me think it is in any way involved in the whole scanning for codes process. Is there a file missing from the entire source? Does anybody have some insights?
@Lee
I entirely forgot that was mentioned to me many months ago and I've never needed to use it. I'll remember next time.
I've been working on something else for a bit and got caught up.
To compile the source download the pre-built PS2SDK on this site and follow the instructions to install it. Then follow the instructions in the COMPILE file to setup the other stuff.
Comment
-
Each thing that you listed above I tried to recreate and I did not encounter any errors. Everything searched fine and with correct results. No freezing occurred but I do remember searching for a changed value randomly froze but I believe I fixed that.
The preset joker is read using libconfig and that reads 32 bits. That left most 0xffff is important to the ParseJokerVal() function. That config should definitely be changed and I will do that now.
Updated those GUI bugs. The keyboard also has a title string now so you know what you are supposed to enter. Download in the main post.
I have no idea why those other things are occurring and cannot help because I cannot recreate them.Last edited by dnawrkshp; 06-24-2013, 08:10:22 PM.
Comment
-
That's very interesting. Is there any certain kernel address I should look at that you would know of that could cause everything to go wrong?Originally posted by dnawrkshp View PostEach thing that you listed above I tried to recreate and I did not encounter any errors. Everything searched fine and with correct results. No freezing occurred but I do remember searching for a changed value randomly froze but I believe I fixed that.
The download attachment is gone from the 1st post.
Comment
-
Off of memory the first search results are stored at 0x80047810 or something like that. The next search results are stored somewhere around 0x800553C0 (this is needed for searching for changes). If there is stuff there before you search then there is a compatibility problem.
Added the rar. Must have forgotten to click the upload button.
Comment
-
I just noticed something very interesting, which explains why the scans were all wrong. When I go to scan for codes, I set everything, scan, and always get 13EC results instantly.
I then did what the text at the bottom says and pressed START to reset everything. I scanned, and it worked perfectly. I was amazed to get something other than an instant 13EC results, I actually saw it go through addresses. I picked up some more money, and did another scan only for it to instantly freeze like it did before. I restarted the game again, but before I did my 2nd scan I pressed START to reset things hoping that it kept the results. It worked. I quickly found the address of the Lego studs at address 0050B6A0. All I had to do was always press START after I entered the Search menu, and then do things like I normally would. I don't know why I need to press START to make it work, but I'm glad it worked. I ended up with 2 addresses that never disappeared, went to the memory editor and gave them both very different values, picked up some Lego studs and figured out which 1 was the genuine address. It worked perfect.
Pressing START to reset everything also fixed the thing where I was able to press RIGHT again after setting the bits to 128. If I didn't press START, I could go past 128 bits and the graphics would garble and everything froze.
For an extra good search option also, you should add something to just redump all data. Many people like me have a habit of forgetting what they are doing as they are doing things and end up not being able to remember what they did for their last scan. A simple option to just redump everything is helpful. It wouldn't do anything of any kind with comparing results, it would just go to the addresses that are results, get whatever the current values are at those addresses, and then save those new values. I remember Viper having it for ps2cc as the option that said "I forgot (just dump everything again)" or something like that.Last edited by bungholio; 06-26-2013, 10:21:43 AM.
Comment
-
I had a huge list of SOCOM codes posted on my old website (cheaterslounge) before I let it expire. A lot of the codes are useless now, as the servers have been shut down permanently. The greatest project ever known to code hacking related to SOCOM can no longer be used without the servers, but may serve a purpose for learning? Depends on what exactly you are looking for.Originally posted by 47iscool View PostDid you ever post any of your Socom or Shadow of the Colossus codes anywhere?
Comment
-
Well it would be cool if sotc had a Super/moon jump, I've tried but I have nowhere near the skill you & some others have.Originally posted by Gtlcpimp View PostI had a huge list of SOCOM codes posted on my old website (cheaterslounge) before I let it expire. A lot of the codes are useless now, as the servers have been shut down permanently. The greatest project ever known to code hacking related to SOCOM can no longer be used without the servers, but may serve a purpose for learning? Depends on what exactly you are looking for.Last edited by 47iscool; 06-26-2013, 05:04:23 PM.
Comment
-
Found it 3 years ago. http://gamehacking.org/vb/threads/31...6868#post36868Originally posted by 47iscool View PostWell it would be cool if sotc had a Super/moon jump
Comment
-
Thanks! Going to put in CB this instant.Originally posted by bungholio View PostFound it 3 years ago. http://gamehacking.org/vb/threads/31...6868#post36868
Edit: Not working, are these codes for PAL? I have the NTSC version.
Or could the master code be wrong? Inf health & inf grip work.Last edited by 47iscool; 06-26-2013, 05:54:25 PM.
Comment
-
They're NTSC. Make sure the activator code above them is on.
Comment
Comment