Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
01969 Cheat System Major Always Jul 3, 2008, 21:22 Jul 4, 2008, 16:55
Tester robiza View Status Public Platform MAME (Self-compiled)
Assigned To Resolution Fixed OS Windows XP/Vista 32-bit
Status [?] Resolved Driver
Version 0.125u9 Fixed in Version 0.126 Build Normal
Fixed in Git Commit Github Pull Request #
Summary 01969: some problem with cheat system
Description there're some problem with the cheat system:
1) some games have problems in ram test (i.e. gberet)
2) some games exit with strange error (i.e. pacland: the error is a line of "minus" symbol)
3) some games have unpredictable behaviour if a cheat is active (i.e. pacman: if you use invincible cheat when you lose a life the game go in attract mode)
4) some games hang (i think) in the cheat database loading (i.e. invaders)
Steps To Reproduce try:
mame -cheat pacland (or gberet, pacman, invaders)
Additional Information some games have no problems (i.e. pacmania: invincible cheat)
Github Commit
Flags
Regression Version
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
5
User avatar
No.01472
Tafoid
Administrator
Jul 3, 2008, 22:02
There are definite issues:

Another one I saw was pbobble4 (and clones). Starting with -CHEAT and the last official cheat.DAT causes me to start in VS. Computer mode on Round 12 (Last Stage) - regardless of what difficulty I choose.

It's my growing opinion this might not be quite ready for 0.126.
User avatar
No.01475
robiza
Developer
Jul 4, 2008, 05:46
edited on: Jul 4, 2008, 05:46
anothere game with #1 issue is gng
User avatar
No.01476
Haze
Senior Tester
Jul 4, 2008, 10:17
sounds like some cheats are being enabled / used by default even if they're not wanted / enabled.

(as well as other issues?)
User avatar
No.01480
ShimaPong
Tester
Jul 4, 2008, 15:41
edited on: Jul 4, 2008, 15:43
1) Confirmed and fixed. The following code causes this problem.
:gberet:00080300:DBB1:00000003:00000000:Select Starting Level::After Level 3 it goes 8,9,A,B,10,11,12,13,18,19,1A,1B,20,21,22,23,28,29,2A,2B and so on
But I doubt this code.
Why "Operation Extend" is set? This flag is meaningless because extended operation is undefined in standard format.
Why Extend Data field is filles with 0? If no mask, this field should be filled with 0xFFFFFFFF.
Why two collons is set as separator between name and comment field? it may cause ignoring comment field problem.
It's completely wrong format so that it deals with "ERORR" code.

2) Can't confirm.

3) Try to test the following code.
:pacman::8100200080::1774::003CE0C3::FFFFFFFF:Invincibility
:pacman::8153210080::3CE0::000420A7::1764C3AF:Invincibility (2/3):74 - jp CE0 / CE0 - and a / CE1 - jp nz,CE7
:pacman::8100310080::3CE7::1777C3AF::FFFFFFFF:Invincibility (3/3):CE3 - xor a / CE4 - jp 64 (Normal Ghost - No Hit) / CE7 - xor a / CE8 - jp 77 (Blue Ghost - Eat)
NOTE : Sorry, the above code may not be loaded due to new format loading bug.
		if(TEST_FIELD(cheat_options, SharedCode) && strcmp(machine->gamedrv->parent, "0"))
		{
			/* shared code (MESS specified) */
			if(strcmp(buffer->name, machine->gamedrv->parent)) break; <- "continue" is correct!
			else
#endif
			/* check short game/machine name */
			if(strcmp(buffer->name, machine->gamedrv->name)) break; <- "continue" is correct!]
#ifdef MESS
Chage "break" to "continue"...

4) Can't confirm

Anyway, I have sent diff with small change to dev.
User avatar
No.01483
robiza
Developer
Jul 4, 2008, 16:54
edited on: Jul 4, 2008, 16:55
the bug is fixed
thanks