libMicrofx/microfx_src/src/start.c

22 lines
470 B
C

extern char start_bss, end_bss;
extern char start_data, end_data;
extern char romdata_start;
extern int main(void);
__attribute__((section(".pretext")))
int start(int isappli, int optnum) {
int i;
char *bss_startptr = &start_bss;
for(i=0;i<&end_bss - &start_bss;i++){
bss_startptr[i] = 0;
}
char *data_startptr = &start_data;
char *romdataptr = &romdata_start;
for(i=0;i<&end_data - &start_data;i++){
data_startptr[i] = romdataptr[i];
}
return main();
}