|
|
|
@ -10,7 +10,11 @@ word not_handling_this = 0x100; //0xFF + 1 |
|
|
|
void loadRomfileHeader(FILE * romfile){ |
|
|
|
void loadRomfileHeader(FILE * romfile){ |
|
|
|
byte verificationToken[3] = "NES"; |
|
|
|
byte verificationToken[3] = "NES"; |
|
|
|
for(byte i = 0; i < 3; i++) |
|
|
|
for(byte i = 0; i < 3; i++) |
|
|
|
if(verificationToken[i] != getc(romfile)) return; |
|
|
|
if(verificationToken[i] != getc(romfile)){ |
|
|
|
|
|
|
|
fprintf(stderr, "ERR: This is not a NES Rom!!!\n"); |
|
|
|
|
|
|
|
exit(EXIT_FAILURE); |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
getc(romfile); //get over the DOS EOF byte
|
|
|
|
getc(romfile); //get over the DOS EOF byte
|
|
|
|
Header.PRG_BANKS = getc(romfile); |
|
|
|
Header.PRG_BANKS = getc(romfile); |
|
|
|
Header.CHR_BANKS = getc(romfile); |
|
|
|
Header.CHR_BANKS = getc(romfile); |
|
|
|
@ -22,7 +26,7 @@ void loadRomfileHeader(FILE * romfile){ |
|
|
|
|
|
|
|
|
|
|
|
void initBanks(char name[]){ |
|
|
|
void initBanks(char name[]){ |
|
|
|
FILE * romfile; |
|
|
|
FILE * romfile; |
|
|
|
romfile = fopen(name, "r"); |
|
|
|
romfile = fopen(name, "rb"); |
|
|
|
|
|
|
|
|
|
|
|
#ifdef DEBUG |
|
|
|
#ifdef DEBUG |
|
|
|
if(romfile == NULL){ |
|
|
|
if(romfile == NULL){ |
|
|
|
|