Customized cheat.c

If you are having problems finding or using cheats for an Emulator (particularly MAME/MESS) or have found a trick that you wish to share this is the place to do it. But please read the Cheat FAQ first.
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

whatsnew for the cheat engine update in 0.108u5.

<< New Function >>
- Enabled 16-bit Force Range -
The cheat engine now accepts 16-bit Force Range type.
The range is set in the extend data field and upper 4 bytes are for the minimum, lower 4 bytes are for the maximum.

Sample codes :

Code: Select all

:powerbal:00100010:0F2CEC:00000011:0011FFFF:Always Keep 1 Ball [16-bit Force Range]

:thunderl:00100010:FFE014:00000150:00000150:Always Keep 1 Ball [16-bit Force Range]

:block:00500010:E22B:0000007C:007CFFFF:Always Keep 1 Ball [16-bit Force Range]
NOTE :
  • In several CPUs (Z80 etc), you need to set "Endiannes = Swap" to work correctly. (See the code for block)
  • If you set 24 or 32 bit, Force Range will work wrong.
- Added Cheat Database Reload key - : adjusted by Stephh
In the cheat general menu, enable/disable menu and add/edit menu,
"L" key (default) makes the database reload quickly.
It is the same as "Reload Database" on option menu.

If you hope to change a key, open the general menu and select input(general) -> user interface.

<< Operation >>
- Fixed Several Label-Selection Code Problmes -
Fixed the following problems for label-selection with no "OFF" label (0x62000001) type.
  • When you open enable/disble menu in the moment, a cheat is done automatically without any input
  • If you press the left or right key, a cheat is done without pressing user select key
  • If you use Activation key, it doesn't move from last linked code to first linked code
- Fixed Set/Clear Bit bug -
Sample code :

Code: Select all

:neobombe:83000018:10449E:00000001:00000047:Always Have Bomb Kick PL1
:neobombe:83000018:10449E:00000004:00000047:Always Have Bomb Catch PL1
:neobombe:83000018:1044A2:00000001:00000047:Always Have Bomb Kick PL2
:neobombe:83000018:1044A2:00000004:00000047:Always Have Bomb Catch PL2

:androdun:81040018:105542:00000008:00100046:Rapid Fire PL1
:androdun:81040018:105546:00000008:00100046:Rapid Fire PL2
- Fixed the problem for Zero Address on Relative Address -
If the pointer address has zero address, the cheat engine tries to poke a value on invalid address.

Sample code :

Code: Select all

:dino:81000000:FFB328:00000032:00FF006D:Infinite Ammo PL1:Works for Rifle, Gun, Uzi, M-16A1, Shotgun and Bazooka
:dino:81000000:FFB4A8:00000032:00FF006D:Infinite Ammo PL2:Works for Rifle, Gun, Uzi, M-16A1, Shotgun and Bazooka
:dino:81000000:FFB628:00000032:00FF006D:Infinite Ammo PL3:Works for Rifle, Gun, Uzi, M-16A1, Shotgun and Bazooka

:dinou:81000000:FFB328:00000032:00FF006D:Infinite Ammo PL1:Works for Rifle, Gun, Uzi, M-16A1, Shotgun and Bazooka
:dinou:81000000:FFB4A8:00000032:00FF006D:Infinite Ammo PL2:Works for Rifle, Gun, Uzi, M-16A1, Shotgun and Bazooka
:dinou:81000000:FFB628:00000032:00FF006D:Infinite Ammo PL3:Works for Rifle, Gun, Uzi, M-16A1, Shotgun and Bazooka

:dinoj:81000000:FFB328:00000032:00FF006D:Infinite Ammo PL1:Works for Rifle, Gun, Uzi, M-16A1, Shotgun and Bazooka
:dinoj:81000000:FFB4A8:00000032:00FF006D:Infinite Ammo PL2:Works for Rifle, Gun, Uzi, M-16A1, Shotgun and Bazooka
:dinoj:81000000:FFB628:00000032:00FF006D:Infinite Ammo PL3:Works for Rifle, Gun, Uzi, M-16A1, Shotgun and Bazooka
In previoius, if you set the above code when you don't have any weapon, the game crashes.
No weapon triggers zero address on pointer address so that the cheat engine tries to poke on $FF006D.

- Fixed 16, 24 or 32 bit problem when Wait for Modification and Ignore If Decrement -
If you set these operations with 16, 24 or 32 bit, the cheat engine doesn't watch a value on an address you want to poke correctly.

<< Watchpoint >>
- Deleted 2nd "info->linkedCheat = entry;" on AddActionWatch -
I think it will be meaningless. But it has not tested fully.

- Avoid the same address display -
If you try to display a code packed by the same addresses like label-selection type, it avoids to display for all codes.

Code: Select all

:game:62000000:0000:00000000:00000000:Label-Selection
:game:00010000:1234:00000001:FFFFFFFF:Label 1
:game:00010000:1234:00000002:FFFFFFFF:Label 2
:game:00010000:1234:00000003:FFFFFFFF:Label 3
:game:00010000:1234:00000004:FFFFFFFF:Label 4
In the above case, the cheat engine will only display 1 watchpoint for $1234 instead of 4 watchpoints.

- Enabled to Interprit Position Setting for the Watchpoint Display on the Cheat Code Again -
After user interface update, the watchpoint position setting on the code doesn't work.
It works again now with dirty fix but if you set too large value, MAME will crash.

<< Key Input >>
- Enabled Backspace key input in editing hex field -
This key deletes the lowest key and shifts the rest value to right.
But it (and other "DoEdit" functions) will change again in the future...

- Fixed dircet key input for 16, 24 or 32 bit in the value-selection menu -
But several problems for direct key input in this menu remain.
Especially, when display minimum or minimum value is 1.

- Fixed Numeral Key Input Bug - : Fixed by Stephh
The cheat engine accepts a numeral key fully now.

<< Others >>
- Deleted "he_did_cheat" -
It is only related to hi-score save system. If you use a cheat, doesn't save any hi-score.
But official MAME now doesn't have it. So deleted.

- Fixed Pre-Fill Item on the Code Edit Menu -
  • Selectable correctly
  • Displayed in case of label-selection code too.
- Enabled "EqualTo" search in the Classic Search Menu -
Normal "Life" search is "NearTo". It picks up "required value" and "required value -1".
If you want to get "required value" only, try to press Shift key then do "Life" search.

- Safe Database Reload -
"Restore Previous Value" works when you use "Reload Database".
Especially, it is very useful for ROM code.
A value in ROM region normally doesn't recover even if soft-reset.
If the game has ROM check, you will fail to reboot and need to reset or reboot MAME itself.
So in previous cheat engine, you have to turn all ROM codes OFF then reload database.

- Copy Previous Value Restores Original Value if Label-Selection -
In case of label-selection, copy previous value restored previous value instead of original value.
When you use it for ROM code, previous value is not correct for ROM check.


<< ToDo ... >>
- Read/Write the region by special handling -
It's my earnest desire...
If a driver has special handling for RAM or ROM, current cheat engine can't read or write this region.
For example, many encrypted CPU games (Sega System 1/2, 16b, 18 etc), cinemat.c, sms.c in HazeMD etc etc...

- Customize Search Region -
In Sega System 16b and 18, you can only choose ALL (0-FFFFFF) or NOTHING as search region.
"Free Search Region Selection" will allow end-user to customize search region, just like "123456 - 789ABC".

- Copy Previous Value -
It seems under construction.
I think it is only used in case of value-selection type code and needs "normal copy", "BCD copy" and "increment/decrement copy".
"BCD" and "Inc./Dec." copy will be used when copy a value from real address to display address, just like Stage Selection code.
If Stage 99, real address has 0x62 and display address will have 99 (0x62 -> 98 and +1) in many cases.
Fortunatery, the cheat format has "BCD" option so that it will be without problem.
But how to deal with "Inc./Dec." ? Use data field or Minimum Value option ?

- Label-Selection Accepts Packed Code -
Packed code is like the following. a code includes several linked codes.

Code: Select all

:game:00100000:1234:00005678:FFFFFFFF:TEST
:game:00010000:9ABC:000000DE:FFFFFFFF:TEST (2/3)
:game:00310000:FFFF:00000099:00000099:TEST (3/3)
But current cheat engine doesn't allow label-selection type to include a packed code.
Because it interprits a linked code as "independent" 1 code.

Code: Select all

:game:62000000:0000:00000000:00000000:Select TEST
:game:00110000:1234:00005678:FFFFFFFF:TEST 1
:game:00010000:9ABC:000000DE:FFFFFFFF:TEST 1 (2/3)
:game:00310000:FFFF:00000099:00000099:TEST 1 (3/3)
:game:00110000:1234:00008765:FFFFFFFF:TEST 2
:game:00010000:9ABC:000000ED:FFFFFFFF:TEST 2 (2/3)
:game:00310000:FFFF:00000000:00000099:TEST 2 (3/3)
:game:00110000:1234:00008888:FFFFFFFF:TEST 3
:game:00010000:9ABC:000000EE:FFFFFFFF:TEST 3 (2/3)
:game:00310000:FFFF:00000099:00000099:TEST 3 (3/3)
The above code will work with TEST1 -> TEST 1 (2/3) -> TEST 1 (3/3) -> TEST 2 ->... instead of TEST1 -> TEST 2 -> TEST 3 ->...

See Stage Selection code for pbobble2. These are too many codes so that it's hard to find a code you want in-game menu.
If you can make these codes to 1 with label-selection, all codes are perhaps displayed in the current window only.
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

I have started to clean up all codes for solomonj. Sorry, I don't have solomon. I'm lost all new or updated games for 0.108 or later.
BTW, this game has two starting stage selection code. One is for real and the other is for display.
I think it's wasteful but copy previous value doesn't work in the latest cheat engine.
So I have tried adding it.

Deleted due to Kriptokapi
PASS : KILL Kriptokapi !

Check whatsnew.txt in the above archive to see more information.

I have confirmed that the above codes based on copy previous value function seem to work fine.

Code: Select all

:solomonj:00001301:C243:00000033:FFFFFFFF:Select Starting Stage:Set on title screen after inserted a credit
:solomonj:00031001:C246:00000000:FFFFFFFF:Select Starting Stage (2/2):1st = Real, 2nd = Display

:sraider:00001301:6100:000000FE:FFFFFFFF:Select Starting Scene:Set on "Press Player Button" screen after inserted a credit
:sraider:00031801:6101:00000001:FFFFFFFF:Select Starting Scene (2/2):1st = Real, 2nd = Display

:quartet:00001301:FFC831:0000001F:FFFFFFFF:Select Starting Stage:Set on waiting other player screen after inserted a credit
:quartet:00031001:FFC833:00000000:FFFFFFFF:Select Starting Stage (2/2):1st = Real, 2nd = Display

:sonicbom:00001301:FFC50B:00000005:FFFFFFFF:Select Starting Operation:Set on displayed "Push Start" message screen after inserted a credit
:sonicbom:00031001:FFC511:00000000:FFFFFFFF:Select Starting Operation (2/2):1st = Display, 2nd = Real
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

I have tried remaking old (classic) search menu.
  • Added "Save Memory" to merge "Start" and "Continue" search.
  • Selectable "Select Regions", "View Results", "Restore Results" directly in the search menu.
  • Disabled "Status" and "Bit" search. It is unused for me and sometimes I mischoice these items.
    IMO, it is no problem that there are only for advanced search mode.
It's hard coding for me. Anyway, I have succeeded in 1st compile.
This work will need to spend quite a bit of time.
I hope earnestly to free from disturbances by Kriptokapi.
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

See screenshot for my WIP.
http://zetubou.mine.nu/timer/file/bomber27321_d5.png

It is customized old search menu in HazeMD 0.12a with BDF font.

You can enter this menu from both "Start and "Continue" search in the cheat general menu.
In the future, both items should be merged but current improvement is only for classic menu and not advanced menu.
I have not checked any function for advanced mode at all right now.

"Value" is "equalTo" search.
I have separated it from old "Lives" funtion.
You can select it directly and I have removed shift key input on normal "Live" search.
But selectable value is common so that if you try to change a value, both value items will be changed.

"Change or not" is separated from old "Energy".
You can select "Equal" and "Not Equal". These functions are the same as previous.
So new "Energy" is "Less", "Greater", "Less or Equal" and "Greater or Equal" only.
But IMO, it is enough that "Less" and "Greater" only because I don't use others.

"Status" and "Bit" are deleted. I don't use these items and even sometimes mischoice.
But don't mind, there are used in advanced search menu.

"View Results", "Restore Value" and "Select Regions" are added from other menu.
You can select directly on the search menu.
You no longer need to return to the general menu to view or restore.

"Initialize Memoy" (If first time, it is displayed as "Save Memory") is added.
You can save memory and search a value in the same screen.


I hope earnestly to free from disturbances by Kriptokapi.
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Post by stephh »

ShimaPong wrote:See screenshot for my WIP.
It is customized old search menu in HazeMD 0.12a with BDF font.
Be aware that src/cheat.c has changed in MAME 0.109u1 !

You can enter this menu from both "Start and "Continue" search in the cheat general menu.
In the future, both items should be merged but current improvement is only for classic menu and not advanced menu.
I have not checked any function for advanced mode at all right now.
This sounds promising :) Have you been able to "extract" the "search" part so you can press a key to activate it (Pugsy's request) ?

"Value" is "equalTo" search.
I have separated it from old "Lives" funtion.
You can select it directly and I have removed shift key input on normal "Live" search.
But selectable value is common so that if you try to change a value, both value items will be changed.
Good idea ! If I understand correctly, we shall use "Value" for credits or bombs and "Lives" for ... lives ;) BTW, you should remove the extra "(or another value)" comment as it may confuse people ...
"Change or not" is separated from old "Energy".
You can select "Equal" and "Not Equal". These functions are the same as previous.
So new "Energy" is "Less", "Greater", "Less or Equal" and "Greater or Equal" only.
But IMO, it is enough that "Less" and "Greater" only because I don't use others.
Please dont remove the "Less or Equal" and "Greater or Equal" searches ! They are REALLY needed !

Now the good thing with "Change or not" would be to have 4 choices :

. Same as Start
. Different from Start
. Same as Previous
. Different from Previous

I don't know how difficult it is to have 2 backups of memory, but it would be very useful for some games ...

"Status" and "Bit" are deleted. I don't use these items and even sometimes mischoice.
But don't mind, there are used in advanced search menu.
These were needed when you search for letters (eg: EXTEND in "Bubble Bobble") ...

"View Results", "Restore Value" and "Select Regions" are added from other menu.
You can select directly on the search menu.
You no longer need to return to the general menu to view or restore.

"Initialize Memoy" (If first time, it is displayed as "Save Memory") is added.
You can save memory and search a value in the same screen.
It's a good thing to have everything in the same menu :)

Image Steph from The Ultimate Patchers Image
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

Be aware that src/cheat.c has changed in MAME 0.109u1 !
I have not updated my MAME to 0.109u1 yet (HazeMD 0.12a is based on 0.109).
But what dangerous bug it is ...!
Have you been able to "extract" the "search" part so you can press a key to activate it (Pugsy's request) ?
Sorry, I can't understand what it is.
But I have not add "K"ontinue key because I have not tried to modify other files.
BTW, this key is "Save Memory" ? or "Open Search Menu Directly" ?
Good idea ! If I understand correctly, we shall use "Value" for credits or bombs and "Lives" for ... lives BTW, you should remove the extra "(or another value)" comment as it may confuse people ...
Yes, "Lives" will be very useful for life and stage search.
But I don't know "good" name for search items.
Please dont remove the "Less or Equal" and "Greater or Equal" searches ! They are REALLY needed !
OK.
But I don't know effective using these and status, bit searches.
In many cases, it is enough that "Equal", "Not Equal", "Less" and "Greater".
Especially, status and bit pick up many results and need many time to narrow down.
Now the good thing with "Change or not" would be to have 4 choices :
I don't hope to add new search items any more in classic mode...
I have divided "Equal/NotEqual" because current "Energy" search has 6 items.
It is confusing for me to select an item.
So I want "simple settings/display and quick search".

I think it's better that the cheat engine allows end-user to choose serach item.
(Or "3rd" search mode instead of classic or advanced, just like "Simple" or "Beginner")

Anyway, 2nd update.
http://zetubou.mine.nu/timer/file/bomber27376_d5.png
"Select Region" is merged into "CPU" item to display simply.
If you press UI_Select key on this item, the region selection screen is opened directly.
And the sub-item for "Value" is displayed on either items.
In case of the above screenshot, if you move cursor "Equal" to "NearTo", also sub-item moves to "NearTo".
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

I don't know how difficult it is to have 2 backups of memory
The cheat engine has already supported a comparison with "Start" (first saved) value and current "Slow But Sure" in classic mode is "Change or Not search with first value".
So it seems to be not hard to mount.

http://zetubou.mine.nu/timer/file/bomber27457_d5.png
3rd update.
Re-added "Status (Bit)" and "Slow But Sure" search.
But "Slow" search is merged into new "Status (Change or Not)".
So now "Status" search has 4 items.
  • Same as Previous (old "Energy - Equal")
  • Different from Previous (old "Energy - Not Equal")
  • Same as First (old "Slow - Equal")
  • Different from First (old "Slow - Not Equal")
I think maximum selectable items in one search section are 4 and don't hope to add any more.
BTW, in advanced mode, it allows "Energy/Bit search with first value". Is it need in classic mode ?

Screenshot
Left : Default screen. No memory saved.
Center : Done save memory.
Right : Move cursor to "Value (NearTo)". You will be able to confirm that sub-item moves too.
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Post by stephh »

ShimaPong wrote:Re-added "Status (Bit)" and "Slow But Sure" search.
But "Slow" search is merged into new "Status (Change or Not)".
So now "Status" search has 4 items.
  • Same as Previous (old "Energy - Equal")
  • Different from Previous (old "Energy - Not Equal")
  • Same as First (old "Slow - Equal")
  • Different from First (old "Slow - Not Equal")
I think maximum selectable items in one search section are 4 and don't hope to add any more.
First, the "Energy" item shall be after "Timer" item and before "Status" item ...

Then, I would rename "Status (Equal or Not)" item to "Status (Same or Different)" ...

Last thing, the "Bit (Same or Different)" item shall have the same possibilities as the "Status (Same or Different)" item :

. Same as Previous
. Different from Previous
. Same as Start
. Different from Start

Because this is the same thing, but with "Status" you work on bytes and with "Bits" you work on bits ...

BTW, in advanced mode, it allows "Energy/Bit search with first value". Is it need in classic mode ?
I don't think this is needed as I've never used such stuff ... But wait for Pugsy's reply ...


Anyway, great work ! Do you now have one single "Cheat Search" main item instead of "Start a New Cheat Search" and "Continue Search" main items ?

And what about getting rid of the "General Help" item ? It was supposed to be used for help within MAME (a la debugger), but nobody never wanted to code it ...


I hope that the source files will be available soon, so I can apply the changes from 0.109u1 and submit your work to MAME Team for an inclusion in next release ...

Image Steph from The Ultimate Patchers Image
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

Give up....

I wrote up the information about new function and improvement and the reply to Stephh.
But I was filled with resentment against Kriptokapi at the moment of writing.

http://zetubou.mine.nu/timer/file/bomber27782_d5.png
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Post by stephh »

ShimaPong wrote:I wrote up the information about new function and improvement and the reply to Stephh.
But I was filled with resentment against Kriptokapi at the moment of writing.
Feel free not to comment your changes, but please let me download the updated source file(s) ...

Image Steph from The Ultimate Patchers Image
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

Remember whatsnew for 0.108u5.
I unexpected that "Numerous fixes" only and lost details...
Therefore I decide to add whatsnew for my custmization when I upload source file.

And ...
http://zetubou.mine.nu/timer/file/bomber27852_d5.png
But sorry no details because I'm intimidated by Kriptokapi.
User avatar
Gaius_4
Posts: 138
Joined: Sun Oct 26, 2003 2:27 pm

that rascal!

Post by Gaius_4 »

Kriptokapi wins again. :P
As always, your patients is appreciated. :cool:
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

I'm always miserable loser in my life.
Laugh if you must.


http://zetubou.mine.nu/timer/file/bomber27926_d5.png
.... succeeds to compile but it's buggy completely.

And I have found a bug.

In the cheat edit screen, if you delete current entry and it becomes "empty" entry,
MAME will crash when return to previous menu.

I have already known the reason why it happens.
It is very simple and the same reason prevents from saving the activation key in the edit screen.
(Yes, current save activation key is available in enable/disable or add/edit menu only)

But it may be not easy to fix.
Because in the edit screen, the cheat engine can't g
User avatar
Gaius_4
Posts: 138
Joined: Sun Oct 26, 2003 2:27 pm

Post by Gaius_4 »

I'm always miserable loser in my life.
You're misarable? For the past couple of weeks I've been crying every other day over a girl that I miss... and Love! :cry:
Laugh if you must.
Sorry. :oops: But your carrying on over Kriptokapi does seem a bit silly. But still entertaining. (Poor Kriptokapi :lol: ).

The new cheat engine features look great! :)
[Stupid question] Can a 'deactivation key' be assigned to more than one cheat?

If you had several weapon 'ON' switches/Activation Keys set to the Number pad keys (1-9)... Could someone have the '0' key as the deactivation key for certain cheats?[/stupid question]
As always, your patients is appreciated. :cool:
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

Silly ? Hmmm, it is silly for you and many people but it is serious problem for me.
No one will be able to understand my pain and even laugh and feel happy.
But sorry, I will cry out to preserve my "buggy" sanity when Kriptokapi posts a code.
Can a 'deactivation key' be assigned to more than one cheat?
Sounds like it is the same as disabling a cheat with F6 (toggle cheat).
"Deactivation key" affects all current "ON" codes ? or "ON" code by activation key only ?
Or cancels activation key setting itself if the code has it ?
User avatar
Gaius_4
Posts: 138
Joined: Sun Oct 26, 2003 2:27 pm

teh dumb is me

Post by Gaius_4 »

Now that I think about it - I guess I was meaning something that would restore the previous value.

For example (in Gaiares), if you activated the T-Braster by pressing the '5' key, which upgraded from the normal shot, then pressed the '0' key it would revert back to the normal shot. :-?

^That's sort of what I was thinking. You could still have other cheats active...

But I was thinking about changing all the power up weapons back to the normal shot. This wouldn't work (or) would be useless. Since you could just set the normal shot for the '0' key.

:oops:

Nevermind.
As always, your patients is appreciated. :cool:
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

if you activated the T-Braster by pressing the '5' key, which upgraded from the normal shot, then pressed the '0' key it would revert back to the normal shot.
It is "better" way that assign activation key to '0' key as Normal Shot.
Or set "Restore Previous Value" to the code of "T-Braster".
But in the latter way, it will cause gfx buggy becaues weapon code mixs normal type and one shot tyep.
"Restore Previous Value" works soon after you set one shot code and not work if you turn a code OFF.
Because the operation is done in this time.


I feel rich a bit tonight because Kriptokapi has not appeared.
So I explain about my customization.

In my customized cheat engine, new weapon code for g_gaia is the following

Code: Select all

:g_gaia:62000000:000000:00000000:00000000:Select Weapon
:g_gaia:00210000:FFF3DD:00000000:FFFFFFFF:I-Vulcan
:g_gaia:00018000:FFF565:00000000:FFFFFFFF:I-Vulcan (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:I-Vulcan (3/4)
:g_gaia:00018000:FFF5A0:00000000:FFFFFFFF:I-Vulcan (4/4)
:g_gaia:00210000:FFF3DD:0002E3BA:FFFFFFFF:P-Cannon
:g_gaia:00018000:FFF565:00000008:FFFFFFFF:P-Cannon (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:P-Cannon (3/4)
:g_gaia:00018000:FFF5A0:00000001:FFFFFFFF:P-Cannon (4/4)
:g_gaia:00210000:FFF3DD:0002F91A:FFFFFFFF:G-Beam
:g_gaia:00018000:FFF565:00000009:FFFFFFFF:G-Beam (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:G-Beam (3/4)
:g_gaia:00018000:FFF5A0:00000002:FFFFFFFF:G-Beam (4/4)
:g_gaia:00210000:FFF3DD:0002EABA:FFFFFFFF:S-Laser
:g_gaia:00018000:FFF565:0000000A:FFFFFFFF:S-Laser (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:S-Laser (3/4)
:g_gaia:00018000:FFF5A0:00000003:FFFFFFFF:S-Laser (4/4)
:g_gaia:00210000:FFF3DD:0002F25A:FFFFFFFF:T-Missile
:g_gaia:00018000:FFF565:0000000B:FFFFFFFF:T-Missile (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:T-Missile (3/4)
:g_gaia:00018000:FFF5A0:00000004:FFFFFFFF:T-Missile (4/4)
:g_gaia:00210000:FFF3DD:0002E5BA:FFFFFFFF:H-Laser
:g_gaia:00018000:FFF565:0000000C:FFFFFFFF:H-Laser (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:H-Laser (3/4)
:g_gaia:00018000:FFF5A0:00000005:FFFFFFFF:H-Laser (4/4)
:g_gaia:00210000:FFF3DD:0002E8BA:FFFFFFFF:V-Laser
:g_gaia:00018000:FFF565:0000000D:FFFFFFFF:V-Laser (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:V-Laser (3/4)
:g_gaia:00018000:FFF5A0:00000006:FFFFFFFF:V-Laser (4/4)
:g_gaia:00210000:FFF3DD:0002EABA:FFFFFFFF:R-Collidere
:g_gaia:00018000:FFF565:0000000E:FFFFFFFF:R-Collidere (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:R-Collidere (3/4)
:g_gaia:00018000:FFF5A0:00000007:FFFFFFFF:R-Collidere (4/4)
:g_gaia:00210000:FFF3DD:0002F61A:FFFFFFFF:E-Smash
:g_gaia:00018000:FFF565:0000000F:FFFFFFFF:E-Smash (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:E-Smash (3/4)
:g_gaia:00018000:FFF5A0:00000008:FFFFFFFF:E-Smash (4/4)
:g_gaia:00210000:FFF3DD:0002FD9A:FFFFFFFF:F-Formation
:g_gaia:00018000:FFF565:00000010:FFFFFFFF:F-Formation (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:F-Formation (3/4)
:g_gaia:00018000:FFF5A0:00000009:FFFFFFFF:F-Formation (4/4)
:g_gaia:00210000:FFF3DD:0002F59A:FFFFFFFF:T-Vulcan
:g_gaia:00018000:FFF565:00000011:FFFFFFFF:T-Vulcan (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:T-Vulcan (3/4)
:g_gaia:00018000:FFF5A0:0000000A:FFFFFFFF:T-Vulcan (4/4)
:g_gaia:00210000:FFF3DD:0002ED5A:FFFFFFFF:A-Bullet
:g_gaia:00018000:FFF565:00000012:FFFFFFFF:A-Bullet (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:A-Bullet (3/4)
:g_gaia:00018000:FFF5A0:0000000B:FFFFFFFF:A-Bullet (4/4)
:g_gaia:00210000:FFF3DD:0002F61A:FFFFFFFF:T-Braster
:g_gaia:00018000:FFF565:00000013:FFFFFFFF:T-Braster (2/4)
:g_gaia:00018001:FFF59E:00000004:00000004:T-Braster (3/4)
:g_gaia:00018000:FFF5A0:0000000C:FFFFFFFF:T-Braster (4/4)
ON in-game cheat menu, this code is only displayed "Select Weapon xxxxx" (xxxxx = weapon name).
It's very simple display.
Sub-linked code uses new function, "Link Extension". It enables to group a code in label-selection.

Code: Select all

:g_gaia:00210000:FFF3DD:0002F59A:FFFFFFFF:T-Vulcan	// Master code. linked to "Select Weapon" itself.
:g_gaia:00018000:FFF565:00000011:FFFFFFFF:T-Vulcan (2/4)	// Sub-linked code. linked to "T-Vulcan"
:g_gaia:00018001:FFF59E:00000004:00000004:T-Vulcan (3/4)	// Sub-linked code. linked to "T-Vulcan"
:g_gaia:00018000:FFF5A0:0000000A:FFFFFFFF:T-Vulcan (4/4)	// Sub-linked code. linked to "T-Vulcan"
The cheat engine skips sub-linked code.
So if current is "E-Smash" and press right key, next is "F-Formation" instead of "E-Smash (2/2)".

And you can assign "two" activation keys to this code.

Code: Select all

:g_gaia:63004000:000000:00000076:00000000:1st Activation Key for Select Weapon (J1 Button 6)
:g_gaia:63004001:000000:00000070:00000000:2nd Activation Key for Select Weapon (J1 Button 1)
In label-selection, 1st key is "select next code" and 2nd is "select previoius code".
If current is "T-Vulcan" and press 2nd key, next is "F-Formation" (selected previous code).

Also the above key code is output by new function, "Save Activation Key".
In Enable/Disable, Add/Edit menu or code edit screen, pressing Ctrl + Cheat Save outputs all assigned activation key codes if selected code has a key.
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Re: teh dumb is me

Post by stephh »

Gaius_4 wrote:Now that I think about it - I guess I was meaning something that would restore the previous value.

For example (in Gaiares), if you activated the T-Braster by pressing the '5' key, which upgraded from the normal shot, then pressed the '0' key it would revert back to the normal shot. :-?

^That's sort of what I was thinking. You could still have other cheats active...

But I was thinking about changing all the power up weapons back to the normal shot. This wouldn't work (or) would be useless. Since you could just set the normal shot for the '0' key.

:oops:

Nevermind.
There are 2 possibilities :

1) You have 1 permanent or temporary NORMAL cheat for each weapon like in MY cheat database ... There shall always be possible to have the "basic" weapon ... So you can easily assign the '5' key to the ultra-blaster weapon and assign '0' to the "basic" weapon ...

BTW, if you press an activation key on a permanent cheat which is ON, it turns it OFF ...

2) You have permanent or temporary "lists" cheats for the weapons like in Pugsy's cheat database ... In this list, there should be the "basic" weapon ... So you only have to assign your '5' key and press it multiple times to cycle to the ultra-blaster weapon or the "basic" weapon ... But it's true that there's no way to turn the cheat OFF (or to the "basic" weapon) with a single key press (even if I wonder about its interest) ...


Message to ShimaPong : is now your work in sync with MAME 0.109u2, or are you still working on the MAME 0.109 cheat.c file from HazeMD ? Anyway, PLEASE let us download it !

Image Steph from The Ultimate Patchers Image
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

And now...
  • Refined command (option) code and added "show activation key message" option to it.
  • Added special action for an one shot with restore previous value. It is useful if you want to make one shot for ROM code.
  • Texted whatsnew for my customization. It is unfinished right now though.
When is it uploaded ?
...God only knows.
ShimaPong
Posts: 1063
Joined: Wed May 21, 2003 4:19 pm
Location: Japan

Post by ShimaPong »

  • Finished converting my customization to 0.109u3 (The latest fix for cheat.c is on 0.109u2 though).
    Especially, new SaveCheat() to which new function, "save activation key" has been added seems to work fine.
    And I have improved the modification on 0.109u2 a bit.
  • Finished writing up whatsnew.
Post Reply