summaryrefslogtreecommitdiff
path: root/src/cheats.c
diff options
context:
space:
mode:
authortwinaphex2015-11-10 04:13:23 +0100
committertwinaphex2015-11-10 04:13:23 +0100
commit5e6455285bec454190ace7a61b034891cc2f99b3 (patch)
treebdd245533bbee2a4b02c1a5c61395b73cdc0eee8 /src/cheats.c
parentdeda34b44a796ad6fbac100355eccb522b2e5d9f (diff)
downloadsnes9x2002-5e6455285bec454190ace7a61b034891cc2f99b3.tar.gz
snes9x2002-5e6455285bec454190ace7a61b034891cc2f99b3.tar.bz2
snes9x2002-5e6455285bec454190ace7a61b034891cc2f99b3.zip
Cut down on cheats code
Diffstat (limited to 'src/cheats.c')
-rw-r--r--src/cheats.c265
1 files changed, 0 insertions, 265 deletions
diff --git a/src/cheats.c b/src/cheats.c
index 678c20a..27ee131 100644
--- a/src/cheats.c
+++ b/src/cheats.c
@@ -142,268 +142,3 @@ const char* S9xGameGenieToRaw(const char* code, uint32* address, uint8* byte)
return (NULL);
}
-
-void S9xStartCheatSearch(SCheatData* d)
-{
- memmove(d->CWRAM, d->RAM, 0x20000);
- memmove(d->CSRAM, d->SRAM, 0x10000);
- memmove(d->CIRAM, &d->FillRAM [0x3000], 0x2000);
- memset((char*) d->WRAM_BITS, 0xff, 0x20000 >> 3);
- memset((char*) d->SRAM_BITS, 0xff, 0x10000 >> 3);
- memset((char*) d->IRAM_BITS, 0xff, 0x2000 >> 3);
-}
-
-#define BIT_CLEAR(a,v) \
-(a)[(v) >> 5] &= ~(1 << ((v) & 31))
-
-#define BIT_SET(a,v) \
-(a)[(v) >> 5] |= 1 << ((v) & 31)
-
-#define TEST_BIT(a,v) \
-((a)[(v) >> 5] & (1 << ((v) & 31)))
-
-#define _C(c,a,b) \
-((c) == S9X_LESS_THAN ? (a) < (b) : \
- (c) == S9X_GREATER_THAN ? (a) > (b) : \
- (c) == S9X_LESS_THAN_OR_EQUAL ? (a) <= (b) : \
- (c) == S9X_GREATER_THAN_OR_EQUAL ? (a) >= (b) : \
- (c) == S9X_EQUAL ? (a) == (b) : \
- (a) != (b))
-
-#define _D(s,m,o) \
-((s) == S9X_8_BITS ? (uint8) (*((m) + (o))) : \
- (s) == S9X_16_BITS ? ((uint16) (*((m) + (o)) + (*((m) + (o) + 1) << 8))) : \
- (s) == S9X_24_BITS ? ((uint32) (*((m) + (o)) + (*((m) + (o) + 1) << 8) + (*((m) + (o) + 2) << 16))) : \
-((uint32) (*((m) + (o)) + (*((m) + (o) + 1) << 8) + (*((m) + (o) + 2) << 16) + (*((m) + (o) + 3) << 24))))
-
-#define _DS(s,m,o) \
-((s) == S9X_8_BITS ? ((int8) *((m) + (o))) : \
- (s) == S9X_16_BITS ? ((int16) (*((m) + (o)) + (*((m) + (o) + 1) << 8))) : \
- (s) == S9X_24_BITS ? (((int32) ((*((m) + (o)) + (*((m) + (o) + 1) << 8) + (*((m) + (o) + 2) << 16)) << 8)) >> 8): \
- ((int32) (*((m) + (o)) + (*((m) + (o) + 1) << 8) + (*((m) + (o) + 2) << 16) + (*((m) + (o) + 3) << 24))))
-
-void S9xSearchForChange(SCheatData* d, S9xCheatComparisonType cmp,
- S9xCheatDataSize size, bool8 is_signed, bool8 update)
-{
- int l;
-
- switch (size)
- {
- case S9X_8_BITS:
- l = 0;
- break;
- case S9X_16_BITS:
- l = 1;
- break;
- case S9X_24_BITS:
- l = 2;
- break;
- default:
- case S9X_32_BITS:
- l = 3;
- break;
- }
-
- int i;
- if (is_signed)
- {
- for (i = 0; i < 0x20000 - l; i++)
- {
- if (TEST_BIT(d->WRAM_BITS, i) &&
- _C(cmp, _DS(size, d->RAM, i), _DS(size, d->CWRAM, i)))
- {
- if (update)
- d->CWRAM [i] = d->RAM [i];
- }
- else
- BIT_CLEAR(d->WRAM_BITS, i);
- }
-
- for (i = 0; i < 0x10000 - l; i++)
- {
- if (TEST_BIT(d->SRAM_BITS, i) &&
- _C(cmp, _DS(size, d->SRAM, i), _DS(size, d->CSRAM, i)))
- {
- if (update)
- d->CSRAM [i] = d->SRAM [i];
- }
- else
- BIT_CLEAR(d->SRAM_BITS, i);
- }
-
- for (i = 0; i < 0x2000 - l; i++)
- {
- if (TEST_BIT(d->IRAM_BITS, i) &&
- _C(cmp, _DS(size, d->FillRAM + 0x3000, i), _DS(size, d->CIRAM, i)))
- {
- if (update)
- d->CIRAM [i] = d->FillRAM [i + 0x3000];
- }
- else
- BIT_CLEAR(d->IRAM_BITS, i);
- }
- }
- else
- {
- for (i = 0; i < 0x20000 - l; i++)
- {
- if (TEST_BIT(d->WRAM_BITS, i) &&
- _C(cmp, _D(size, d->RAM, i), _D(size, d->CWRAM, i)))
- {
- if (update)
- d->CWRAM [i] = d->RAM [i];
- }
- else
- BIT_CLEAR(d->WRAM_BITS, i);
- }
-
- for (i = 0; i < 0x10000 - l; i++)
- {
- if (TEST_BIT(d->SRAM_BITS, i) &&
- _C(cmp, _D(size, d->SRAM, i), _D(size, d->CSRAM, i)))
- {
- if (update)
- d->CSRAM [i] = d->SRAM [i];
- }
- else
- BIT_CLEAR(d->SRAM_BITS, i);
- }
-
- for (i = 0; i < 0x2000 - l; i++)
- {
- if (TEST_BIT(d->IRAM_BITS, i) &&
- _C(cmp, _D(size, d->FillRAM + 0x3000, i), _D(size, d->CIRAM, i)))
- {
- if (update)
- d->CIRAM [i] = d->FillRAM [i + 0x3000];
- }
- else
- BIT_CLEAR(d->IRAM_BITS, i);
- }
- }
-}
-
-void S9xSearchForValue(SCheatData* d, S9xCheatComparisonType cmp,
- S9xCheatDataSize size, uint32 value,
- bool8 is_signed, bool8 update)
-{
- int l;
-
- switch (size)
- {
- case S9X_8_BITS:
- l = 0;
- break;
- case S9X_16_BITS:
- l = 1;
- break;
- case S9X_24_BITS:
- l = 2;
- break;
- default:
- case S9X_32_BITS:
- l = 3;
- break;
- }
-
- int i;
-
- if (is_signed)
- {
- for (i = 0; i < 0x20000 - l; i++)
- {
- if (TEST_BIT(d->WRAM_BITS, i) &&
- _C(cmp, _DS(size, d->RAM, i), (int32) value))
- {
- if (update)
- d->CWRAM [i] = d->RAM [i];
- }
- else
- BIT_CLEAR(d->WRAM_BITS, i);
- }
-
- for (i = 0; i < 0x10000 - l; i++)
- {
- if (TEST_BIT(d->SRAM_BITS, i) &&
- _C(cmp, _DS(size, d->SRAM, i), (int32) value))
- {
- if (update)
- d->CSRAM [i] = d->SRAM [i];
- }
- else
- BIT_CLEAR(d->SRAM_BITS, i);
- }
-
- for (i = 0; i < 0x2000 - l; i++)
- {
- if (TEST_BIT(d->IRAM_BITS, i) &&
- _C(cmp, _DS(size, d->FillRAM + 0x3000, i), (int32) value))
- {
- if (update)
- d->CIRAM [i] = d->FillRAM [i + 0x3000];
- }
- else
- BIT_CLEAR(d->IRAM_BITS, i);
- }
- }
- else
- {
- for (i = 0; i < 0x20000 - l; i++)
- {
- if (TEST_BIT(d->WRAM_BITS, i) &&
- _C(cmp, _D(size, d->RAM, i), value))
- {
- if (update)
- d->CWRAM [i] = d->RAM [i];
- }
- else
- BIT_CLEAR(d->WRAM_BITS, i);
- }
-
- for (i = 0; i < 0x10000 - l; i++)
- {
- if (TEST_BIT(d->SRAM_BITS, i) &&
- _C(cmp, _D(size, d->SRAM, i), value))
- {
- if (update)
- d->CSRAM [i] = d->SRAM [i];
- }
- else
- BIT_CLEAR(d->SRAM_BITS, i);
- }
-
- for (i = 0; i < 0x2000 - l; i++)
- {
- if (TEST_BIT(d->IRAM_BITS, i) &&
- _C(cmp, _D(size, d->FillRAM + 0x3000, i), value))
- {
- if (update)
- d->CIRAM [i] = d->FillRAM [i + 0x3000];
- }
- else
- BIT_CLEAR(d->IRAM_BITS, i);
- }
- }
-}
-
-void S9xOutputCheatSearchResults(SCheatData* d)
-{
- int i;
- for (i = 0; i < 0x20000; i++)
- {
- if (TEST_BIT(d->WRAM_BITS, i))
- printf("WRAM: %05x: %02x\n", i, d->RAM [i]);
- }
-
- for (i = 0; i < 0x10000; i++)
- {
- if (TEST_BIT(d->SRAM_BITS, i))
- printf("SRAM: %04x: %02x\n", i, d->SRAM [i]);
- }
-
- for (i = 0; i < 0x2000; i++)
- {
- if (TEST_BIT(d->IRAM_BITS, i))
- printf("IRAM: %05x: %02x\n", i, d->FillRAM [i + 0x3000]);
- }
-}