3.4. Compares

Searching for distict values is useful for finding numerical quantities like lives and score, but not so useful when the exact value of a variable is not known - for example, where energy is shown as a bar of decreasing length, or where has a certain amount of time to run before it disappears.

To allow you to find addresses that hold things you don't know the value of, the Compare feature checks the differences between two game positions, and can send addresses to a list when their contents have increased or decreased, since it is generally possible to see at least whether a quantity has increased or decreased.

To use the Compare feature, you must interrupt the game at the first position, save the game's memory (from the disassembler menu, go over 'Save' then 'Application', not 'Position') to disc, then continue the game until you get to the position with the quantity you are looking for altered, and interrupt again.

Choose 'Compare...' from the disassembler menu and drag the file you saved from the last time to the arrow on the Compare window. Set the options according to whether the quantity being searched for has increased, decreased, or just changed at all and click on 'Compare' to find the changed addresses.

The resulting list is likely to be quite large and will need further narrowing before yielding the address you are after. This can be done using further narrowing searches, more compares followed by /!\ list processing, or looking at the addresses in the list one by one to see if they might be the value you are looking for. (For example, large blocks of changed addresses together are unlikely to contain the single value you are looking for, and values that look like graphics data or that disassemble to valid code are also unlikely to be right.)


--) /!\ List processing
(-- Searching for text
/\ Finding cheats


ajc@doggysoft.co.uk
23rd April 1998