diff --git a/include/link/assign.h b/include/link/assign.h index 7ffa3ce8..8284d8eb 100644 --- a/include/link/assign.h +++ b/include/link/assign.h @@ -3,16 +3,6 @@ #include "types.h" -enum eBankDefine { - BANK_ROM0 = 0, - BANK_ROMX, - BANK_WRAM0 = 512, - BANK_WRAMX, - BANK_VRAM = 520, - BANK_HRAM = 522, - BANK_SRAM = 523 -}; - enum eBankCount { BANK_COUNT_ROM0 = 1, BANK_COUNT_ROMX = 511, @@ -23,6 +13,16 @@ enum eBankCount { BANK_COUNT_SRAM = 16 }; +enum eBankDefine { + BANK_ROM0 = 0, + BANK_ROMX = BANK_ROM0 + BANK_COUNT_ROM0, + BANK_WRAM0 = BANK_ROMX + BANK_COUNT_ROMX, + BANK_WRAMX = BANK_WRAM0 + BANK_COUNT_WRAM0, + BANK_VRAM = BANK_WRAMX + BANK_COUNT_WRAMX, + BANK_HRAM = BANK_VRAM + BANK_COUNT_VRAM, + BANK_SRAM = BANK_HRAM + BANK_COUNT_HRAM +}; + #define MAXBANKS (BANK_COUNT_ROM0 + BANK_COUNT_ROMX + BANK_COUNT_WRAM0 + BANK_COUNT_WRAMX \ + BANK_COUNT_VRAM + BANK_COUNT_HRAM + BANK_COUNT_SRAM) diff --git a/src/link/patch.c b/src/link/patch.c index 25e59ed3..07f53e93 100644 --- a/src/link/patch.c +++ b/src/link/patch.c @@ -69,11 +69,11 @@ getsymbank(SLONG symid) } if (nBank == BANK_WRAM0) return 0; - if (nBank >= BANK_WRAMX && nBank <= (BANK_WRAMX+6)) + if (nBank >= BANK_WRAMX && nBank < (BANK_WRAMX + BANK_COUNT_WRAMX)) return nBank - BANK_WRAMX + 1; - if (nBank >= BANK_VRAM && nBank <= (BANK_VRAM+1)) + if (nBank >= BANK_VRAM && nBank < (BANK_VRAM + BANK_COUNT_VRAM)) return nBank - BANK_VRAM; - if (nBank >= BANK_SRAM && nBank <= (BANK_SRAM+3)) + if (nBank >= BANK_SRAM && nBank < (BANK_SRAM + BANK_COUNT_SRAM)) return nBank - BANK_SRAM; return nBank;