-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathrasm.h
100 lines (92 loc) · 2.61 KB
/
rasm.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#define PROGRAM_NAME "RASM"
#define PROGRAM_VERSION "2.3"
#define PROGRAM_SUBVERSION ".1"
#define PROGRAM_DATE "xx/01/2025"
#define PROGRAM_COPYRIGHT "© 2017 BERGE Edouard / roudoudou from Praline"
#define RELEASE_NAME "Beacon"
#define RASM_VERSION PROGRAM_NAME" v"PROGRAM_VERSION""PROGRAM_SUBVERSION" (build "PROGRAM_DATE")"
#define RASM_SNAP_VERSION PROGRAM_NAME" v"PROGRAM_VERSION
struct s_parameter {
char **labelfilename;
char *filename;
char *outputfilename;
int automatic_radix;
int export_local;
int export_var;
int export_equ;
int export_sym;
int export_multisym;
int export_tape;
char *flexible_export;
int export_sna;
int export_snabrk;
int export_brk;
int nowarning;
int erronwarn;
int utf8enable;
int freequote;
int checkmode;
int dependencies;
int maxerr;
int macrovoid;
int extended_error;
int display_stats;
int edskoverwrite;
int xpr;
float rough;
int as80,dams,pasmo;
int v2,remu;
int warn_unused;
char *symbol_name;
char *binary_name;
char *cartridge_name;
char *snapshot_name;
char *rom_name;
char *tape_name;
char *breakpoint_name;
char *cprinfo_name;
char **symboldef;
int nsymb,msymb;
char **pathdef;
char *inline_asm;
int npath,mpath;
int noampersand;
int cprinfo,cprinfoexport;
char module_separator;
int enforce_symbol_case;
int verbose_assembling;
int macro_multi_line;
};
struct s_debug_error {
char *filename;
int line;
char *msg;
int lenmsg,lenfilename;
};
struct s_debug_symbol {
char *name;
int v;
};
struct s_rasm_info {
struct s_debug_error *error;
int nberror,maxerror,warnerr;
struct s_debug_symbol *symbol;
int nbsymbol,maxsymbol;
int run,start;
// export snapshot RAM informations to emulator
unsigned char *emuram;
int lenram;
// export snapshot or Cartridhe informations to emulator
unsigned char *emurom;
int lenrom;
};
#ifndef INSIDE_RASM
//extern "C" {
int RasmAssemble(const char *datain, int lenin, unsigned char **dataout, int *lenout);
int RasmAssembleInfo(const char *datain, int lenin, unsigned char **dataout, int *lenout, struct s_rasm_info **debug);
int RasmAssembleInfoIntoRAM(const char *datain, int lenin, struct s_rasm_info **debug, unsigned char *emuram, int ramsize);
int RasmAssembleInfoIntoRAMROM(const char *datain, int lenin, struct s_rasm_info **debug, unsigned char *emuram, int ramsize, unsigned char *emurom, int romsize);
int RasmAssembleInfoParam(const char *datain, int lenin, unsigned char **dataout, int *lenout, struct s_rasm_info **debug, struct s_parameter *param);
void RasmFreeInfoStruct(struct s_rasm_info *debug);
//};
#endif