Emuforums.com

Go Back   Emuforums.com > PSX Emulation > ePSXe Discussion
Home Register Downloads FAQ Members List Calendar Arcade Mark Forums Read

WON'T YOU JOIN US?
You are not a registered member and
are viewing this site as a guest.
Registration is simple and FREE.
Join this CrowdGather community today.
Registration offers the following perks:

» Less advertising throughout
» Post and participate in discussions
» Network with other forum members
» Free private messaging

join

Reply
 
Thread Tools Display Modes
Old July 18th, 2012, 02:04   #1
bughunter90
The BugSlasyer
 
bughunter90's Avatar
 
Join Date: Jul 2012
Location: ---
Posts: 2
Disable PEC cheat without toogle manually

Hey people, i have troubles to disable a cheat on ePSXe 1.7 using PEC.Someone can help me?

I'm playing SOTN and i had made codes for a harder game . I Have a code which must be used ONE time at ALL game!i wanna use and disable this code, but i doesnt want to open PEC, unmark the checkbox of code and resend codes to Emulator.

the codes are listed bellow:

"SOTN All 0 NoLvlUp Challenge //i wanna use ONE time and DISABLE
80097BE8 0062 // puts alucard with lvl 98, familiars can grow up
80097BEC 0000 // reset exp to 0
80097BEE 0000 // reset exp to 0
80097BA0 0000 // current hp 0
80097BA4 0000 // max hp 0
80097BA8 0000 // current heart 0
80097BAC 0000 // max heart 0
80097BB0 0000 // ACTUAL MANA 0
80097BB4 0001 // max mana 1 (if 0, game crashes)
80097BB8 0000 //STR 0
80097BBC 0000 //CON 0
80097BC0 0000 //INT 0
80097BC4 0000 //LCK 0

"SOTN_Str_Toogle //to defeat first eskeleton, need a minimum of 1 STR
D0097490 2001 // joker L2 + right
80097BB8 0001 // STR=1
D0097490 8001 // joker L2 +left
80097BB8 0000 // STR = 0

"SOTN Increase MP Facilitie // bonus for a boss defeat. grant +5 Mana
D0097490 1001 // joker L2 + up
10097BB4 0005 // ADD 5 mana to MAX

"SOTN Fix MP Facilitie //fix for mana
D0097BB4 0006 // check if mana = 6
11097BB4 0001 // SUBTRACT 1 mana to MAX

My Rules to this game:
-The char doesnt grow up killing boses or enemies
-The char can get HP & Heart Max UP
-Familiars can level up
-For each boss battle finished, char receive a reward of +5 mana, reaching maximum at 50 (L2 + up to grant)
-Ban some equipment (Honor System)


The Trouble: I dunno disable the first code ( all stats 0, no lvl up ....) with jokers. These code must run only ONE time, after richter defeats Dracula on the early game. I only know to do this manually. I want to learn how to disable these first code with a joker or something similar.

If the code stay enabled, HP, Heart & Mana will be overwrited to 0, and i will waste the HP & Heart MAX UP.

how to disable these code without do a manual toggle on PEC?

Any tips?
bughunter90 is offline   Reply With Quote

Advertisement [Remove Advertisement]
Old September 23rd, 2012, 14:54   #2
bughunter90
The BugSlasyer
 
bughunter90's Avatar
 
Join Date: Jul 2012
Location: ---
Posts: 2
I finished this game challenge! is much more harder and funny! especially at start, when with 1-2 hits u die =p! slogra and gaibon and dopplerganger 10 is a really hard!
__________________
What is a Bug? A miserable huge pile of quick fixes? But enought talk! Have at you!
bughunter90 is offline   Reply With Quote
Old September 24th, 2012, 12:05   #3
ra_dlanor
Registered User
 
Join Date: Apr 2010
Location: Sweden
Posts: 14
Quote:
Originally Posted by bughunter90 View Post
I finished this game challenge! is much more harder and funny! especially at start, when with 1-2 hits u die =p! slogra and gaibon and dopplerganger 10 is a really hard!
Nice that you managed it. Sorry I couldn't help earlier, but I only noticed this thread today. If you're still interested in a solution to your problem (for future re-challenges ?), it really is quite simple to do.

Your code list already contains examples showing a working joker code test function call, in each of the code lines starting with "D0097490", where the four-digit argument part of each such code specifies the game-pad bits to be tested. This makes it easy to construct new game-pad button combo arguments for use in new joker codes, assuming you know the standard bit pattern of such codes.

For addresses of 'positive' joker codes like these, the normal pattern is as follows.
Code:
Bit# == Button
 00     L2 \
 01     R2  \/ Fourth (lowest)
 02     L1  /\ Hex digit
 03     R1 /
 04     Triangle \
 05     Circle    \/ Third
 06     Cross     /\ Hex digit
 07     Square   /
 08     Select \
 09     L3      \/ Second
 10     R3      /\ Hex digit
 11     Start  /
 12     Up    \
 13     Right  \/ First (top)
 14     Down   /\ Hex digit
 15     Left  /
Your code list already has joker code combos for L2+Left, L2+Right, L2+Up, so it would be quite logical to add one for L2+Down. And using the button-bit list above you'll find that this requires a code argument of "4001", making the total joker code for L2+Down in this game "D0097490 4001".

Inserting such a code line above each of the existing code lines of your first cheat above would make its patching occur only when the new combo is pressed, and if that's all you needed then the problem is solved. But if you also want the patching to continue a while when you're not pushing the combo (like in some fight), then another approach is needed.

What you then need is to have some new combo(s) set or clear a flag for whether or not the patching of the first cheat should be done, and the lines to be inserted before each of the old lines is a line testing that flag's current value.

You'd need a pair of new combos to use in codes to set or clear that flag. Something like:
Code:
D0097490 1400  //If gamepad==L3+Up
80XXXXXX YYYY  //  Set Flag at XXXXXX to YYYY
D0097490 4400  //If gamepad==L3+Down
80XXXXXX ZZZZ  //  Clear Flag at XXXXXX to ZZZZ
You can then insert lines like "D0XXXXXX YYYY" before code lines you want executed only when the flag is in the set state, or insert lines like "D0XXXXXX ZZZZ" before code lines you want executed only when the flag is in the cleared state.

The only remaining problem then is to decide on the address to use as a flag, and that requires a little more knowledge of that game than I have. But quite likely you could use one of the variables you already patch in the main cheat, if the value you force it to is a value that this address won't normally have, and which will not be able to change while the flagged patching is active. (Perhaps the Alucard level variable.)

Otherwise some disassembly might be required, to establish which range of memory the game uses, so as to find a safe unused address for use as a custom flag.

Best regards: dlanor
ra_dlanor is offline   Reply With Quote
Reply

Thread Tools
Display Modes

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

All times are GMT +1. The time now is 09:15.

© 2006 - 2012 Emu Forums | About Emu Forums | Advertisers | Investors | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.