Simplify bankrangecheck

This commit is contained in:
ISSOtm
2020-02-03 15:36:38 +01:00
parent 877e0e0b91
commit d15915ef14

View File

@@ -41,38 +41,13 @@ int32_t nPCOffset;
static void bankrangecheck(char *name, uint32_t secttype, int32_t org, static void bankrangecheck(char *name, uint32_t secttype, int32_t org,
int32_t bank) int32_t bank)
{ {
int32_t minbank = 0, maxbank = 0; if (secttype != SECTTYPE_ROMX && secttype != SECTTYPE_VRAM
char *stype = NULL; && secttype != SECTTYPE_SRAM && secttype != SECTTYPE_WRAMX)
switch (secttype) {
case SECTTYPE_ROMX:
stype = "ROMX";
minbank = BANK_MIN_ROMX;
maxbank = BANK_MAX_ROMX;
break;
case SECTTYPE_SRAM:
stype = "SRAM";
minbank = BANK_MIN_SRAM;
maxbank = BANK_MAX_SRAM;
break;
case SECTTYPE_WRAMX:
stype = "WRAMX";
minbank = BANK_MIN_WRAMX;
maxbank = BANK_MAX_WRAMX;
break;
case SECTTYPE_VRAM:
stype = "VRAM";
minbank = BANK_MIN_VRAM;
maxbank = BANK_MAX_VRAM;
break;
default:
yyerror("BANK only allowed for ROMX, WRAMX, SRAM, or VRAM sections"); yyerror("BANK only allowed for ROMX, WRAMX, SRAM, or VRAM sections");
} else if (bank < bankranges[secttype][0] || bank > bankranges[secttype][1])
if (stype && (bank < minbank || bank > maxbank)) {
yyerror("%s bank value $%x out of range ($%x to $%x)", yyerror("%s bank value $%x out of range ($%x to $%x)",
stype, bank, minbank, maxbank); typeNames[secttype], bank, bankranges[secttype][0],
} bankranges[secttype][1]);
out_NewAbsSection(name, secttype, org, bank); out_NewAbsSection(name, secttype, org, bank);
} }