diff --git a/include/link/assign.h b/include/link/assign.h index 3657ad23..373103aa 100644 --- a/include/link/assign.h +++ b/include/link/assign.h @@ -5,11 +5,11 @@ enum eBankDefine { BANK_HOME = 0, - BANK_BSS = 256, + BANK_BSS = 512, BANK_VRAM, BANK_HRAM }; -#define MAXBANKS 259 +#define MAXBANKS 515 extern SLONG area_Avail(SLONG bank); extern void AssignSections(void); diff --git a/src/asm/gameboy/yaccprt4.y b/src/asm/gameboy/yaccprt4.y index 0cdd79e0..2384587e 100644 --- a/src/asm/gameboy/yaccprt4.y +++ b/src/asm/gameboy/yaccprt4.y @@ -13,7 +13,7 @@ section: | T_POP_SECTION string ',' sectiontype ',' T_OP_BANK '[' const ']' { if( $4==SECT_CODE ) { - if( $8>=1 && $8<=255 ) + if( $8>=1 && $8<=0x1ff ) out_NewAbsSection($2,$4,-1,$8); else yyerror( "BANK value out of range" ); @@ -24,7 +24,7 @@ section: { if( $4==SECT_CODE ) { if( $6>=0 && $6<0x10000 ) { - if( $11>=1 && $11<=255 ) + if( $11>=1 && $11<=0x1ff ) out_NewAbsSection($2,$4,$6,$11); else yyerror( "BANK value out of range" ); diff --git a/src/link/assign.c b/src/link/assign.c index 709f8c63..59b75b16 100644 --- a/src/link/assign.c +++ b/src/link/assign.c @@ -90,7 +90,7 @@ area_AllocAbsCODEAnyBank(SLONG org, SLONG size) { SLONG i; - for (i = 1; i <= 255; i += 1) { + for (i = 1; i <= 511; i += 1) { if (area_AllocAbs(&BankFree[i], org, size) == org) return (i); } @@ -126,7 +126,7 @@ area_AllocCODEAnyBank(SLONG size) { SLONG i, org; - for (i = 1; i <= 255; i += 1) { + for (i = 1; i <= 511; i += 1) { if ((org = area_Alloc(&BankFree[i], size)) != -1) return ((i << 16) | org); } @@ -204,7 +204,7 @@ AssignSections(void) BankFree[i]->nSize = 0x4000; MaxAvail[i] = 0x4000; } - } else if (i >= 1 && i <= 255) { + } else if (i >= 1 && i <= 511) { BankFree[i]->nOrg = 0x4000; /* * Now, this shouldn't really be necessary... but for @@ -327,7 +327,7 @@ AssignSections(void) */ if (pSection->nBank >= 1 - && pSection->nBank <= 255) { + && pSection->nBank <= 511) { if (area_AllocAbs (&BankFree [pSection->nBank], @@ -365,7 +365,7 @@ AssignSections(void) && pSection->Type == SECT_CODE && pSection->nOrg == -1 && pSection->nBank != -1) { /* User wants to have a say... and he's pissed */ - if (pSection->nBank >= 1 && pSection->nBank <= 255) { + if (pSection->nBank >= 1 && pSection->nBank <= 511) { if ((pSection->nOrg = area_Alloc(&BankFree[pSection->nBank], pSection->nByteSize)) == -1) { diff --git a/src/link/mapfile.c b/src/link/mapfile.c index 52bae65e..cb7e3f3a 100644 --- a/src/link/mapfile.c +++ b/src/link/mapfile.c @@ -59,7 +59,7 @@ MapfileInitBank(SLONG bank) currentbank = bank; if (bank == 0) fprintf(mf, "Bank #0 (HOME):\n"); - else if (bank <= 255) + else if (bank < BANK_BSS) fprintf(mf, "Bank #%ld:\n", bank); else if (bank == BANK_BSS) fprintf(mf, "BSS:\n"); @@ -69,7 +69,7 @@ MapfileInitBank(SLONG bank) fprintf(mf, "VRAM:\n"); } if (sf) { - sfbank = (bank >= 1 && bank <= 255) ? bank : 0; + sfbank = (bank >= 1 && bank <= 511) ? bank : 0; } }