예제 #1
0
파일: patch.c 프로젝트: YamaArashi/rgbds
SLONG 
getsymbank(SLONG symid)
{
	SLONG nBank;

	switch (pCurrentSection->tSymbols[symid]->Type) {
	case SYM_IMPORT:
		nBank = sym_GetBank(pCurrentSection->tSymbols[symid]->pzName);
		break;
	case SYM_EXPORT:
	case SYM_LOCAL:
		nBank = pCurrentSection->tSymbols[symid]->pSection->nBank;
		break;
	default:
		errx(1, "*INTERNAL* UNKNOWN SYMBOL TYPE");
	}

	if (nBank >= BANK_WRAMX && nBank <= (BANK_WRAMX+6))
		return nBank - BANK_WRAMX + 1;
	if (nBank >= BANK_VRAM && nBank <= (BANK_VRAM+1))
		return nBank - BANK_VRAM;
	if (nBank >= BANK_SRAM && nBank <= (BANK_SRAM+3))
		return nBank - BANK_SRAM;

	return nBank;
}
예제 #2
0
파일: patch.c 프로젝트: yenatch/rgbds
SLONG 
getsymbank(SLONG symid)
{
	switch (pCurrentSection->tSymbols[symid]->Type) {
		case SYM_IMPORT:
		return (sym_GetBank(pCurrentSection->tSymbols[symid]->pzName));
		break;
	case SYM_EXPORT:
	case SYM_LOCAL:
		return (pCurrentSection->tSymbols[symid]->pSection->nBank);
		//return (pCurrentSection->nBank);
	default:
		break;
	}
	errx(1, "*INTERNAL* UNKNOWN SYMBOL TYPE");
}