DGen/SDL
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Functions
decode.h File Reference

Go to the source code of this file.

Classes

struct  patch

Functions

void genie_decode (const char *code, struct patch *result)
 Decode a Game Genie Code.
void hex_decode (const char *code, struct patch *result)
 "Decode" an address/data pair into a structure.
void decode (const char *code, struct patch *result)
 THIS is the function you call from the MegaDrive or whatever.

Function Documentation

void decode ( const char *  code,
struct patch result 
)

THIS is the function you call from the MegaDrive or whatever.

This figures out whether it's a genie or hex code, depunctuates it, and calls the proper decoder.

Parameters:
[in]codeGame Genie or hex code.
[out]resultThe resulting address:data pair is returned in the struct patch pointed to by result. If an error results, both the address and data will be set to -1.
void genie_decode ( const char *  code,
struct patch result 
)

Decode a Game Genie Code.

This function converts a Game Genie code to an address:data pair. The code is given as an 8-character string, like "BJX0SA1C". It need not be null terminated, since only the first 8 characters are taken. It is assumed that the code is already made of valid characters, i.e. there are no Q's, U's, or symbols. If such a character is encountered, the function will return with a warning on stderr.

The resulting address:data pair is returned in the struct patch pointed to by result. If an error results, both the address and data will be set to -1.

Parameters:
[in]code8 character Game Genie code.
[out]resultThe resulting address:data pair is returned in the struct patch pointed to by result. If an error results, both the address and data will be set to -1.
void hex_decode ( const char *  code,
struct patch result 
)

"Decode" an address/data pair into a structure.

This is for "012345:ABCD" type codes. You're more likely to find Genie codes circulating around, but there's a chance you could come on to one of these. Which is nice, since they're MUCH easier to implement ;) Once again, the input should be depunctuated already.

Parameters:
[in]code8 character Game Genie code.
[out]resultThe resulting address:data pair is returned in the struct patch pointed to by result. If an error results, both the address and data will be set to -1.