It's incomplete. It's the text files and PIS file for PS2Dis to put things in an understandable order. I need to add all of the button combinations to make things work still. The text files are commented on every line except for "jr ra". It should be very understandable. When I'm done with it, all people will need to do to make it work for a game it add 4 lines:
enable code (or codes)
replace the "jr ra" in the scesifsendcmd function with the jump
2 lines for the joker
Here's the list of complete and perfect things:
1. First Scan (1, 2, or 4 bytes)
It scans and stores the address and value of results within the parameters you set. It has 5 scan types:
2. Extra Scans (bytes)
It goes through the results and removes results not within the parameters. It checks the current value and compares it with the old value. If it keeps them, it replaces the old value with the current one. It has 6 scan types:
3. First Scan (1 bit)
The longest and perfect scan. It scans for exactly 1 bit turned on, and then stores an address and the 1 bit. Make sure the bit is on before scanning.
4. First Scan (multiple bits)
Just scans for a byte that isn't 0. Needs the 2nd scan next. Make sure the bit is on before scanning.
5. Second Scan (multiple bits)
Make sure the bit is off before scanning. It checks what changed, and treats them as bits. It also removes results that didn't change.
6. Extra Scans (any bits)
You will toggle whether to keep results if the bits are all on or all off.
7. Reset Currently Selected Result
Just sets which result you will test first. Also good if you somehow get lost.
8. Cycle Through Results
Toggle whether go up/down to the next/previous result to test.
9. Apply Old Value (bytes)
It just applies the last stored value to whichever result you have selected so you know if you have the correct one selected.
10. Turn Bits Off
FF - bits = bits that can be on. It ANDs the current value with that to turn them off.
11. Turn Bits On (Combined)
It ORs the bits with the current bits at an address to combine them.
12. Turn Bits On (Only Results)
It replaces whatever the current bits are with the exact stored bits.
13. Find the Address/Value
It uses AND and pauses to determine what the result address or value is. It works for every game.
It can toggle whether you are comparing signed or unsigned values too.
It uses OR to change which values you are scanning for or what to AND the address/value by to find it.
It's incomplete. I hope I'm done within the next 10 days, I've been working like crazy and am about done, I just need to organize it. This will be updated very soon, possibly even done.
My only problem is I know almost nothing about the operations for floats, so I'm not sure how to make a scan function for floats.
The first scan worked perfect with Twisted Metal Black. I used a save dump to check. I hope it's helpful in some way for Project Artemis. I'm kind of afraid that there's a low limit to the amount of lines of code I can turn on with a cheat device, which will probably screw this over a bit, in which case I'll just turn on the functions I know I'll be using.
enable code (or codes)
replace the "jr ra" in the scesifsendcmd function with the jump
2 lines for the joker
Here's the list of complete and perfect things:
1. First Scan (1, 2, or 4 bytes)
It scans and stores the address and value of results within the parameters you set. It has 5 scan types:
- Store if equal to
- Store if not equal to
- Store if greater than
- Store if less than
- Combine the greater than and less than to create a range a value must be within to store it
2. Extra Scans (bytes)
It goes through the results and removes results not within the parameters. It checks the current value and compares it with the old value. If it keeps them, it replaces the old value with the current one. It has 6 scan types:
- Keep if the value didn't change
- Keep if the value changed
- Keep if the value increased
- Keep if the value decreased
- Keep if the value increased by ???????? amount
- Keep if the value decreased by ???????? amount
3. First Scan (1 bit)
The longest and perfect scan. It scans for exactly 1 bit turned on, and then stores an address and the 1 bit. Make sure the bit is on before scanning.
4. First Scan (multiple bits)
Just scans for a byte that isn't 0. Needs the 2nd scan next. Make sure the bit is on before scanning.
5. Second Scan (multiple bits)
Make sure the bit is off before scanning. It checks what changed, and treats them as bits. It also removes results that didn't change.
6. Extra Scans (any bits)
You will toggle whether to keep results if the bits are all on or all off.
7. Reset Currently Selected Result
Just sets which result you will test first. Also good if you somehow get lost.
8. Cycle Through Results
Toggle whether go up/down to the next/previous result to test.
9. Apply Old Value (bytes)
It just applies the last stored value to whichever result you have selected so you know if you have the correct one selected.
10. Turn Bits Off
FF - bits = bits that can be on. It ANDs the current value with that to turn them off.
11. Turn Bits On (Combined)
It ORs the bits with the current bits at an address to combine them.
12. Turn Bits On (Only Results)
It replaces whatever the current bits are with the exact stored bits.
13. Find the Address/Value
It uses AND and pauses to determine what the result address or value is. It works for every game.
It can toggle whether you are comparing signed or unsigned values too.
It uses OR to change which values you are scanning for or what to AND the address/value by to find it.
It's incomplete. I hope I'm done within the next 10 days, I've been working like crazy and am about done, I just need to organize it. This will be updated very soon, possibly even done.
My only problem is I know almost nothing about the operations for floats, so I'm not sure how to make a scan function for floats.
The first scan worked perfect with Twisted Metal Black. I used a save dump to check. I hope it's helpful in some way for Project Artemis. I'm kind of afraid that there's a low limit to the amount of lines of code I can turn on with a cheat device, which will probably screw this over a bit, in which case I'll just turn on the functions I know I'll be using.
Comment