Cheat Engine Update

This forum is for making announcements about updated cheat files (for any emulator), updated web pages and of course about improvements to the MAME/MESS cheat engine.
Locked
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Cheat Engine Update

Post by ianpatt »

New cheat engine update: mostly bugfixes and additions to the watch feature.

Tell me if there's something I forgot or you want added.

source
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Re: Cheat Engine Update

Post by stephh »

ianpatt wrote: New cheat engine update: mostly bugfixes and additions to the watch feature.
Here is another little bug report related to the new features ...

When you modify the "Add value" of a watch in the "Edit Cheat" menu, then decide to add the watch, the "Add value" isn't transmitted : it is ALWAYS 00 !

The "Address shift" only shifts right (>>) but not left (<<), so I can't "convert" the addresses given by the cheat engine to addresses I can use in the debugger :cry: As I don't think it is needed to shift the address up to 31 bits, coudldn't it be possible to shift it up to 15 bits right (values 1 to 15) and up to 15 bits left (values -1 to -15) ?

What is the use of "Data shift" ? Where could it be needed ? IMO, it would be better to have a "XOR value" (1 byte only) ...


And now a lttle proposition to end this post ...

When you define an ASCII watch with multiple bytes (elements > 1), there shouldn't be a "space" after each character ...

For example, the watch displays "U P S " while IMO it should display "UPS" ... Can you fix that ? This would allow to display more text on the same line ...


That's all I found at the moment ... Let me know if you need more ...

Steph from The Ultimate Patchers

Visit Image The Ultimate Patchers' site Image
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

A small bug to report

Post by Bugfinder »

Here's a small bug to report: when you have a ROM cheat with "restore previous value" attribute on, and you assign that cheat to enable automatically, if you turn it off the previous value isn't restored.
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

so much for that ^_^

Post by ianpatt »

.... I take back what I mentioned on MAME General/Serious. These fixes didn't take much time to implement, so I'm making an exception to my "no coding for a bit" rule.

Anyway, everything in stephh's post is now fixed.
stephh wrote:What is the use of "Data shift" ?
For converting TMS addresses stored in memory to logical addresses. XOR added also.

The issue with auto-enabled restore-on-disable ROM cheats was present for all types of auto-enabled restore-on-disable cheats. It has been fixed also.

source
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Re: so much for that ^_^

Post by stephh »

ianpatt wrote: .... I take back what I mentioned on MAME General/Serious. These fixes didn't take much time to implement, so I'm making an exception to my "no coding for a bit" rule.
Thanks for doing that ! When I posted the previous message, I thought that MAME 0.62 was about to be released ... I couldn't guess that blah blah blah ...
Anyway, everything in stephh's post is now fixed.
I'll make some tests, and I'll let you know ...
stephh wrote:What is the use of "Data shift" ?
For converting TMS addresses stored in memory to logical addresses.
I thought it was "Address shift" ... Or did I understand something wrong ?
XOR added also.
I guess that "Bugfinder" will be happy now ...

Steph from The Ultimate Patchers

Visit Image The Ultimate Patchers' site Image
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Re: so much for that ^_^

Post by Bugfinder »

stephh wrote:
ianpatt wrote: XOR added also.
I guess that "Bugfinder" will be happy now ...

Steph from The Ultimate Patchers
I'm the one who didn't get the idea now. Why will I (specially) be happy with this XOR data shift? I have not tried the new cheat engine version yet.
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Re: so much for that ^_^

Post by ianpatt »

stephh wrote:I thought it was "Address shift" ... Or did I understand something wrong ?
Data shift changes the value displayed in the watch, address shift only changes the address input.

In pseudocode: ShowWatch(ReadData(address >> addressShift) >> dataShift);
Bugfinder wrote:Why will I (specially) be happy with this XOR data shift?
(random guess) CPS2 ROM cheats?
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Re: so much for that ^_^

Post by Bugfinder »

ianpatt wrote:
Bugfinder wrote:Why will I (specially) be happy with this XOR data shift?
(random guess) CPS2 ROM cheats?
Hmm, now I get it... Really cool! Thanks for the nice addition :-)
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Small bug to report

Post by Bugfinder »

I was assigning keys to cheats, and find out that some codes present in cheat.c don't correspond to the key actually assigned. As an example, the codes for "keypad +" and "keypad del" are respectively 53 and 54 according to the source, but these are the codes for Up and Down. You need to add 5 to these codes to get the correct codes for [+] and [DEL].
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Re: Small bug to report

Post by ianpatt »

Bugfinder wrote:I was assigning keys to cheats, and find out that some codes present in cheat.c don't correspond to the key actually assigned. As an example, the codes for "keypad +" and "keypad del" are respectively 53 and 54 according to the source, but these are the codes for Up and Down. You need to add 5 to these codes to get the correct codes for [+] and [DEL].
Fixed table:

Code: Select all

Key Index List:

	A		00	Q		10	6		20	F3		30	[		40	PGDN	50	RCTRL	60
	B		01	R		11	7		21	F4		31	]		41	LEFT	51	LALT	61
	C		02	S		12	8		22	F5		32	ENTER	42	RIGHT	52	RALT	62
	D		03	T		13	9		23	F6		33	:		43	UP		53	SCRLOCK	63
	E		04	U		14	[0]		24	F7		34	'		44	DOWN	54	NUMLOCK	64
	F		05	V		15	[1]		25	F8		35	\		45	[/]		55	CAPSLCK	65
	G		06	W		16	[2]		26	F9		36	\		46	[*]		56	LWIN	66
	H		07	X		17	[3]		27	F10		37	,		47	[-]		57	RWIN	67
	I		08	Y		18	[4]		28	F11		38	.		48	[+]		58	MENU	68
	J		09	Z		19	[5]		29	F12		39	/		49	[DEL]	59
	K		0A	0		1A	[6]		2A	ESC		3A	SPACE	4A	[ENTER]	5A
	L		0B	1		1B	[7]		2B	~		3B	INS		4B	PRTSCR	5B
	M		0C	2		1C	[8]		2C	-		3C	DEL		4C	PAUSE	5C
	N		0D	3		1D	[9]		2D	=		3D	HOME	4D	LSHIFT	5D
	O		0E	4		1E	F1		2E	BACKSP	3E	END		4E	RSHIFT	5E
	P		0F	5		1F	F2		2F	TAB		3F	PGUP	4F	LCTRL	5F
The tabs work out in Visual SlickEdit, really they do. Just replace " " (four spaces) with "\t".

I've already submitted the latest updates, so this will be included in the next batch. (ie. probably not in .62)
kelvSYC
Posts: 1121
Joined: Thu Sep 27, 2001 1:00 am
Location: Calgary, AB, Canada

Post by kelvSYC »

So, on a Mac, what value corresponds to the Command keys?
kelvSYC's Guide to the Cheat Engine - http://members.shaw.ca/kelvsyc/cheatguide.html

The New Move List Cheat Collection - http://mamecheat.co.uk/forums/viewtopic.php?p=6469

Underscore Command - What better game is there?
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Post by ianpatt »

kelvSYC wrote:So, on a Mac, what value corresponds to the Command keys?
I don't know off the top of my head, but if you add this line of code:

Code: Select all

usrintf_showmessage_secs(1, "%.2X", code);
after line 4419 in the current source (it should look like this when done)

Code: Select all

...
					else if(	(code != CODE_NONE) &&
								!input_ui_pressed(IPT_UI_SELECT))
					{
						entry->activationKey = code;
						entry->flags |= kCheatFlag_HasActivationKey;
						
						usrintf_showmessage_secs(1, "%.2X", code);

						editActive = 0;
					}
...
then the cheat engine will put up a messagebox with the code of the key you pressed when you assign an activation key.
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Post by stephh »

Ian, there are still some problems with address shifting :cry:

This is because

Code: Select all

	address >> -1
is DIFFERENT than

Code: Select all

	address << 1
So I guess that the following line (in Edit Watch function) is the cause of the problem :

Code: Select all

	sprintf(buf[total], "%.*X", cpuInfoList[entry->cpu].addressCharsNeeded, entry->address >> entry->addressShift);
Could you please confirm this and tell me if there are some other places where some other changes are required ? Thanks by advance for what you can do ...

Steph from The Ultimate Patchers

Visit Image The Ultimate Patchers' site Image
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Post by ianpatt »

Missed one when copy/paste/replace.

Code: Select all

sprintf(buf[total], "%.*X", cpuInfoList[entry->cpu].addressCharsNeeded, DoShift(entry->address, entry->addressShift));
Locked