Files
Main_MiSTer/support/arcade/mra_loader.h
Martin Donlon 785d0a4b3e Arcade cheat support (#969)
Remove dip switch based cheat support which was unused by any core.
MRA files can now specify cheat data directly
2025-02-20 16:11:28 +08:00

74 lines
1.0 KiB
C

#ifndef ROMUTILS_H_
#define ROMUTILS_H_
int arcade_send_rom(const char *xml);
int xml_load(const char *xml);
void arcade_check_error();
struct dip_struct
{
int start;
int size;
int num;
int has_val;
uint64_t mask;
char name[32];
char id[32][32];
uint64_t val[32];
};
struct sw_struct
{
char name[1024];
int dip_num;
uint64_t dip_def;
uint64_t dip_cur;
uint64_t dip_saved;
dip_struct dip[64];
};
#define MGL_ACTION_LOAD 0
#define MGL_ACTION_RESET 1
struct mgl_item_struct
{
char path[1024];
int delay;
char type;
union
{
int index;
int hold;
};
int valid;
int submenu;
int action;
};
struct mgl_struct
{
int count;
int current;
mgl_item_struct item[6];
uint32_t timer;
int state;
int done;
};
sw_struct *arcade_sw();
void arcade_sw_send();
void arcade_sw_save();
void arcade_sw_load();
// Read any mra info necessary for ini processing
void arcade_pre_parse(const char *xml);
bool arcade_is_vertical();
void arcade_nvm_save();
mgl_struct* mgl_parse(const char *xml);
mgl_struct* mgl_get();
#endif