Go Back  
Reply
 
Thread Tools
Old 02-12-2013   #111
gingerbread
Senior Member
 
gingerbread's Avatar
 
Join Date: Mar 2012
Posts: 1,406
Likes: 284
Liked 812 Times in 418 Posts
Mentioned: 302 Post(s)
Tagged: 0 Thread(s)
@aldostools Will it be possible to add "Show/Hide Column " feature. When user right-click on any region of the column header, there will be a context-menu will a list of Column with Tick-Marks on the left. So users can check and un-check the column that they want to display.

Thanks!
gingerbread is offline   Reply With Quote
Old 02-13-2013   #112
aldostools
Homebrew Developer
 
aldostools's Avatar
 
Join Date: Sep 2010
Location: dev_hdd0/game/BLES80608
Posts: 941
Likes: 905
Liked 1,227 Times in 482 Posts
Mentioned: 575 Post(s)
Tagged: 0 Thread(s)
Originally Posted by gingerbread View Post
@aldostools Will it be possible to add "Show/Hide Column " feature. When user right-click on any region of the column header, there will be a context-menu will a list of Column with Tick-Marks on the left. So users can check and un-check the column that they want to display.

Thanks!
2.4.4
__________________
~ Dreams and dedication are a powerful combination.
... multiMAN is a perfect demonstration.
aldostools is offline   Reply With Quote
Likes: (1)
Old 02-16-2013   #113
gingerbread
Senior Member
 
gingerbread's Avatar
 
Join Date: Mar 2012
Posts: 1,406
Likes: 284
Liked 812 Times in 418 Posts
Mentioned: 302 Post(s)
Tagged: 0 Thread(s)
@aldostools I have thought of some ideas for this application to reach the next level. I am not sure you will implement them or not but I just like to share them with you.

BSD decrypts and encrypts save data. Will it be possible to apply cheats. What if we have a patch system like emulators have.

For example Kega Fusion uses .pat file and their file format is

Example (Golden Axe)
Code:
006EBE:6008	Infinite hit points
007C5C:4E71	Infinite magic
00A934:5429	Each magic pot worth 2
00A934:5629	Each magic pot worth 3
007D5C:6048	Infinite lives
002310:6002	Infinite credits
Nestopia uses .xml file and their file format is

Example (Castlequest (USA))
Code:
<?xml version="1.0" encoding="UTF-8"?>
<cheats version="1.0">
	<cheat enabled="0">
		<genie>SXUEXSSE</genie>
		<description>Invincibility</description>
	</cheat>
	<cheat enabled="0">
		<genie>SXKAVIVG</genie>
		<description>Infinite lives</description>
	</cheat>
	<cheat enabled="0">
		<genie>ATSXATEY</genie>
		<description>Infinite keys</description>
	</cheat>
	<cheat enabled="0">
		<genie>LKUZTZZU</genie>
		<description>75 lives instead of 50</description>
	</cheat>
	<cheat enabled="0">
		<genie>POUZTZZU</genie>
		<description>25 lives instead of 50</description>
	</cheat>
	<cheat enabled="0">
		<genie>SXKNKLVG</genie>
		<description>Don't lose life from 'reset' or 'back' options</description>
	</cheat>
	<cheat enabled="0">
		<genie>SZOEIUVK</genie>
		<description>Use sword (press 'B') as long as you like</description>
	</cheat>
	<cheat enabled="0">
		<genie>XXOAZGYA</genie>
		<description>Now you can move while using sword</description>
	</cheat>
	<cheat enabled="0">
		<genie>IAEEALYP</genie>
		<description>Must use with the last code for permanent sword-wielding ability</description>
	</cheat>
	<cheat enabled="0">
		<genie>GAXEGIZA</genie>
		<description>Supercharged speed-up (1 of 2)</description>
	</cheat>
	<cheat enabled="0">
		<genie>GAUEGIZA</genie>
		<description>Supercharged speed-up (2 of 2)</description>
	</cheat>
	<cheat enabled="0">
		<genie>AAXEGIZE</genie>
		<description>Turbo fuel-injected 16-valve speed-up (1 of 2)</description>
	</cheat>
	<cheat enabled="0">
		<genie>AAUEGIZE</genie>
		<description>Turbo fuel-injected 16-valve speed-up (2 of 2)</description>
	</cheat>
</cheats>
What if we had a similar patch file system that patches the decrypted save file before encrypting it (If users want to use it). We can have a "cheats" folder and in the cheats folder, we can have files with "BCES00484.pat, NPUB30417.pat" and so on. The files will be named by their game ids. And we can follow game genie's code standard.

Example (BCES12345.pat)

Code:
Max Items
40028AD6 000000FF
45860001 00000000

Max HP
80010010 4D415848 
45414C54 485F504C 
41594552 00000000
28000012 497423F0
0800002C 00000001
Update Account ID -> Patch SFO -> Decrypt PFD -> Apply Cheat -> Update PFD -> Encrypt PFD -> Verify PFD

If the patch file is present in the "Cheats Folder", the Apply Cheats button will be enabled, if not it will be grey-out. When users click the apply cheats, a simple dialog box will appear with the list of cheats in it with check-box against them. Once users have checked their desired cheats, they can click the apply cheats button. The application will patch the decrypted save data with values from the patch file. Once they have done it, they can encrypt their saves and use it.

Thanks Aldo!
gingerbread is offline   Reply With Quote
Old 02-17-2013   #114
aldostools
Homebrew Developer
 
aldostools's Avatar
 
Join Date: Sep 2010
Location: dev_hdd0/game/BLES80608
Posts: 941
Likes: 905
Liked 1,227 Times in 482 Posts
Mentioned: 575 Post(s)
Tagged: 0 Thread(s)
Originally Posted by gingerbread View Post
@aldostools I have thought of some ideas for this application to reach the next level. I am not sure you will implement them or not but I just like to share them with you.

BSD decrypts and encrypts save data. Will it be possible to apply cheats. What if we have a patch system like emulators have.

What if we had a similar patch file system that patches the decrypted save file before encrypting it (If users want to use it). We can have a "cheats" folder and in the cheats folder, we can have files with "BCES00484.pat, NPUB30417.pat" and so on. The files will be named by their game ids. And we can follow game genie's code standard.

Update Account ID -> Patch SFO -> Decrypt PFD -> Apply Cheat -> Update PFD -> Encrypt PFD -> Verify PFD

If the patch file is present in the "Cheats Folder", the Apply Cheats button will be enabled, if not it will be grey-out. When users click the apply cheats, a simple dialog box will appear with the list of cheats in it with check-box against them. Once users have checked their desired cheats, they can click the apply cheats button. The application will patch the decrypted save data with values from the patch file. Once they have done it, they can encrypt their saves and use it.

Thanks Aldo!
@gingerbread
The feature is easy to implement, but first I would need to have 3 or 5 real examples for tests.

The patch should include the file name and could have an operator like CU cheats.

Example: BLES12345.ps3savepatch
Click here to see full text

Code:
;:File name pattern
;[Cheat name]
;Tx0ADDRESS  bytes to write (Tx-> 0x=write, 1x=OR, 2x=AND, 3x=XOR)

:FILE1.SAV
[Max Items]
0x0000AABB FF

:FILE*.DAT
[Max Items]
0x0000AABB 00112233...
0x0000CCDD 00112233445566...

[Max HP]
0x0000EEFF 001122334455...
0x00FF1122 00112233445566778899AA...
3x00FF3344 00112233445566778899AA...
__________________
~ Dreams and dedication are a powerful combination.
... multiMAN is a perfect demonstration.

Last edited by aldostools; 02-17-2013 at 06:50 AM.
aldostools is offline   Reply With Quote
Old 02-17-2013   #115
gingerbread
Senior Member
 
gingerbread's Avatar
 
Join Date: Mar 2012
Posts: 1,406
Likes: 284
Liked 812 Times in 418 Posts
Mentioned: 302 Post(s)
Tagged: 0 Thread(s)
@aldostools Thanks for showing the interest! We can also bring in experts like @SkillerCMP , @haxxxen , @bungholio and @butnut .

I wonder if we can copy/port codes from existing game genies database. Maybe you could create a built-in converter to convert codes from game genie format to the format that BSD reads. :P

Example for test. (UNDER DEFEAT HD DELUXE EDITION) :

In game genie the code format it is stated in this way for Unlock free play.

Code:
20000EF8 00FFFFFF
20000EFC 00FFFFFF
By using your format, will it be in this way? Please correct me if I am wrong.

BLUS31077.ps3savepatch
Code:
:SAVEDATA.DAT
[Unlock free play]
0x0000EF8 00FFFFFF
0x0000EFC 00FFFFFF

or is it ?

:SAVEDATA.DAT
[Unlock free play]
2x0000EF8 00FFFFFF
2x0000EFC 00FFFFFF
0x -> Simply writes the value at that address. (I got it!)
1x OR -> Does it means we need more than 1 line of code. Only one line of that code is written?
2x AND -> I believe I got it for this. It is same as 0x but writes twice?
3x XOR -> I don't really understand how XOR work. I am aware that XOR is exclusive-or but I don't fully get it. Could you provide some example where it will work.

Once I have a better understanding of code operators, I can help provide more real examples for your test.

Last edited by gingerbread; 02-17-2013 at 09:42 AM.
gingerbread is offline   Reply With Quote
Old 02-17-2013   #116
bungholio
Member
 
Join Date: Jul 2011
Posts: 242
Likes: 0
Liked 45 Times in 39 Posts
Mentioned: 40 Post(s)
Tagged: 0 Thread(s)
Originally Posted by gingerbread View Post
:SAVEDATA.DAT
[Unlock free play]
0x0000EF8 00FFFFFF
0x0000EFC 00FFFFFF

or is it ?

:SAVEDATA.DAT
[Unlock free play]
2x0000EF8 00FFFFFF
2x0000EFC 00FFFFFF
It would be "2". "0" writes 2 digits, "1" writes 4 digits, "2" writes 8 digits.

Originally Posted by gingerbread View Post
0x -> Simply writes the value at that address. (I got it!)
1x OR -> Does it means we need more than 1 line of code. Only one line of that code is written?
2x AND -> I believe I got it for this. It is same as 0x but writes twice?
3x XOR -> I don't really understand how XOR work. I am aware that XOR is exclusive-or but I don't fully get it. Could you provide some example where it will work.
OR is actually done binary-wise about the same way people use it when they talk. Think of a shooter game. You'll take damage if a bullet hits you OR a grenade explodes next to you. If 1 happens, you'll take damage. That's what OR does. If any 1 of however many conditions is filled, then something is executed.

AND is the same way we speak too. A game like Resident Evil 5 or 6 has moments where 2 players need to activate 2 switches in different places at the same time to open a door. If only 1 switch is hit, the door won't open. If both are hit but not at the same time, it won't open. If 1 switch AND the other are done AND at the same time, the door opens. Only if all conditions are met will something be executed.

XOR is like the light switch in your house. With XOR all you do is change the switch. If you XOR the light switch while it's off, it will turn it on. If you XOR it while it is on, it will turn it off. That's what XOR is used for. It switches between 2 things.

Last edited by bungholio; 02-17-2013 at 02:01 PM.
bungholio is offline   Reply With Quote
Likes: (1)
Old 02-17-2013   #117
aldostools
Homebrew Developer
 
aldostools's Avatar
 
Join Date: Sep 2010
Location: dev_hdd0/game/BLES80608
Posts: 941
Likes: 905
Liked 1,227 Times in 482 Posts
Mentioned: 575 Post(s)
Tagged: 0 Thread(s)
Originally Posted by gingerbread View Post
I wonder if we can copy/port codes from existing game genies database. Maybe you could create a built-in converter to convert codes from game genie format to the format that BSD reads. :P

Example for test. (UNDER DEFEAT HD DELUXE EDITION) :

In game genie the code format it is stated in this way for Unlock free play.

Code:
20000EF8 00FFFFFF
20000EFC 00FFFFFF
By using your format, will it be in this way? Please correct me if I am wrong.

BLUS31077.ps3savepatch
Code:
:SAVEDATA.DAT
[Unlock free play]
0x0000EF8 00FFFFFF
0x0000EFC 00FFFFFF

or is it ?

:SAVEDATA.DAT
[Unlock free play]
2x0000EF8 00FFFFFF
2x0000EFC 00FFFFFF
0x -> Simply writes the value at that address. (I got it!)
1x OR -> Does it means we need more than 1 line of code. Only one line of that code is written?
2x AND -> I believe I got it for this. It is same as 0x but writes twice?
3x XOR -> I don't really understand how XOR work. I am aware that XOR is exclusive-or but I don't fully get it. Could you provide some example where it will work.

Once I have a better understanding of code operators, I can help provide more real examples for your test.
In my proposed format it would be:

BLUS31077.ps3savepatch
Code:
:SAVEDATA.DAT
[Unlock free play]
0x00000EF8 00FFFFFF00FFFFFF

or more similar to the original cheat:

:SAVEDATA.DAT
[Unlock free play]
0x00000EF8 00FFFFFF
0x00000EFC 00FFFFFF
0x -> means "overwrite" the values
at address 00000EF8
with 8 bytes (00 FF FF FF 00 FF FF FF)

Unlike game genie, in my proposed format, the number of bytes is variable and could be a sequence of N bytes.

1x -> OR: would turn ON the specified bits at the address
example:
1x00000EF8 00F0F0F0

if the existing bytes at address EF8 are 12 34 56 78
the data written would be: 12 F4 F6 F8

2x -> AND: would turn ON the matching bits at the address
example:
1x00000EF8 00F0F0F0

if the existing bytes at address EF8 are 12 34 56 78
the data written would be: 00 30 50 70

3x -> XOR: would turn ON the NOT matching bits at the address
example:
1x00000EF8 FFFFFF

if the existing bytes at address EF8 are 12 34 56
the data written would be: ED CB A9

@bungholio the 0x, 1x, 2x, 3x is the idea of the T operator used on cheat code types 0T00 1T00 2T00 (eg. 2000) where T can be 0, 1, 2 or 3 for overwrite, OR, AND, XOR respectively.
__________________
~ Dreams and dedication are a powerful combination.
... multiMAN is a perfect demonstration.
aldostools is offline   Reply With Quote
Likes: (1)
Old 02-17-2013   #118
SkillerCMP
Member
 
Join Date: Dec 2011
Posts: 90
Likes: 1
Liked 53 Times in 29 Posts
Mentioned: 35 Post(s)
Tagged: 0 Thread(s)
Originally Posted by gingerbread View Post
I wonder if we can copy/port codes from existing game genies database. Maybe you could create a built-in converter to convert codes from game genie format to the format that BSD reads. :P
Then u might as well call your self UserCheats :P
also i guess u tend to forget that there are checksums and double encryption .. how are you going to support this ? unless u have someone willing to Dig into the Files and figure out the Secondary levels for the games there are going to be a bunch of games that wont be supported that are on the GG..


@aldostools To be Honest .. no one Knows the full Function of the GG and the code types .. Most ppl only know what they have seen posted.. bitwise is a good idea though in the end .. But keeping a Simpler Format will result in easter code handling . even if ur to use the same format as Usercheats ..just remember though that this is save no live hacking and that Xor and stuff is not really needed do to its Static values.. its ither unlock all or unlock some .. and so on ..

Last edited by SkillerCMP; 02-17-2013 at 07:06 PM.
SkillerCMP is offline   Reply With Quote
Old 02-17-2013   #119
bungholio
Member
 
Join Date: Jul 2011
Posts: 242
Likes: 0
Liked 45 Times in 39 Posts
Mentioned: 40 Post(s)
Tagged: 0 Thread(s)
I feel dumb, I was mainly thinking about cheat devices. I've never touched save modding.
bungholio is offline   Reply With Quote
Old 02-17-2013   #120
gingerbread
Senior Member
 
gingerbread's Avatar
 
Join Date: Mar 2012
Posts: 1,406
Likes: 284
Liked 812 Times in 418 Posts
Mentioned: 302 Post(s)
Tagged: 0 Thread(s)
Originally Posted by SkillerCMP View Post
Then u might as well call your self UserCheats :P
also i guess u tend to forget that there are checksums and double encryption .. how are you going to support this ? unless u have someone willing to Dig into the Files and figure out the Secondary levels for the games there are going to be a bunch of games that wont be supported that are on the GG..
I really respect your contribution on codes! But I kinda feel disappointed on that you label me as UserCheats. I know what you mean. UserCheat copied from CMP and sold for $$$$. The fact I am trying to copy from GG, I should be called UserCheat? Haha! It is completely absurd and ridiculous! You are missing the point and failing to look at the big picture.

I own GG and I like it but it is not open. They way the program is implemented is very stone-age (I am aware that it is trying to appeal to non technical users).

But here are the bad points.

1. GG does not/do not want to support copy-protected cheats. (Trying to look good-boy in front of Sony)
2. GG ask for $$$$ to support EU games. Which they can easily add the game id. But they chose not to.
3. GG does not support jap titles. Users have to buy the jap version, $$$$ again.
4. GG does not even let users add their own games. (I am aware of the technical side.)
5. PS3 is at the end of the life-cycle. How long do you think will GG's servers be up? Forever? I don't think so.
6. Do you think one day they will let users DL their DB offline? I don't think so.

To summaries, users have to spend $$$$ 3 times to get their cheats and users don't even own the cheats it is on GG server. If you do the math, who is asking for more $$$$ here. Even CU2 dongle does not work with CU3. They are asking for $$$$ again. They are the good guys?

And suddenly I become UserCheats (The bad guy ). Brilliant!

For your next point that I have forgotten about checksums and double encryption. I have not forgotten about it. I am aware that some games are hard to decrypt because of multiple level of encryption and compression. We can always start small and work our way up. We can always add codes that does not have multi-level encryption. We can built/port codes from GG slowly to BSD. I believe more keen users will come onboard to submit/built/port codes to BSD. Also maybe flatz could update his pfdtool along the way if more knowledge and progress is gained.

@aldostools Thanks for detail explanation on code operators. I will try to post more example for your test!

@bungholio Thanks for your explanation also! I kinda get it now. I also read more on logic-gates to get a better picture. Save modding is slightly simpler, I think.

Last edited by gingerbread; 02-17-2013 at 09:34 PM.
gingerbread is offline   Reply With Quote
Likes: (1)
Reply

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



PS3Hax.net is Copyright © 2010-2013.
Use of this site is governed by our Terms of Use and Privacy Policy. All Trademarks and images are owned by their respected owners.
Posts and links are subject to each author on this forum and are no way affiliated with the operations and/or opinions of ps3hax.net
All times are GMT -5. The time now is 09:51 PM.