Hi there, I'm trying to undersand the **DA and **BA naming.
concerning the former, it seems that the file name is obfuscated from ".Axx" (xx being a number) filenames.
For example, "CLOUD.A00" is obfuscated into "RTDA".
The A stands for "amp" I guess (I got that from the source code debug info: amptoanm.cpp).
I found the code that parses those files but it is hard to read. I may post some info on the format later.
As for the **BA files I'm not sure because I could not find a runtime example.
They look very close to Polygon files, and there is an obfuscation for ".Pxx" files, but they do not end as **BA.
example: "CLOUD.P01" becomes "RTAN"
Here is my decompiled version of the obfuscation function at 0x005E2460:
//obfuscate name?
void C_005E2460(int dwCount/*bp08*/, struct t_battle_obfuscateInfo *bp0c, const char *pFName/*bp10*/, char *pObfuscated/*bp14*/) {
	struct {
		int dwDotIndex;//bp_ec
		int dwLen;//bp_e8
		int bp_e4;
		int bp_e0;
		int dwIndex;//bp_dc
		int bp_d8;
		int dwBase;//bp_d4
		int i;//bp_d0
		int dwFoundInfo;//bp_cc
		char bp_c8[200];
	}lolo;
	//-- init --
	if(bp0c[1].dwStartIndex == 0)
		C_005E23F6(dwCount, bp0c);//compute dwStartIndex?
	//-- --
	lolo.dwFoundInfo = 0;
	for(lolo.i = 0; lolo.i < dwCount; lolo.i ++) {
		if(*(int *)bp0c->pPrefix == *(int *)pFName) {//compare 4 first characters
			if(bp0c->dwFullName) {//else 005E258C
				C_00682C91(pFName, lolo.bp_c8);//file:remove file extension
				if(strcmp(bp0c->pPrefix, lolo.bp_c8) == 0) {
					lolo.dwFoundInfo = 1;
					break;
				}
			} else {
				lolo.dwFoundInfo = 1;
				break;
			}
		}
		bp0c ++;
	}//end for
	//-- --
	if(lolo.dwFoundInfo) {//else 005E28D0
		//-- --
		lolo.dwIndex = bp0c->dwStartIndex;
		if(bp0c->dwCodeLength > 0) {//else 005E2688
			lolo.bp_d8 = 0;
			for(lolo.i = 0; lolo.i < bp0c->dwCodeLength; lolo.i ++) {
				lolo.bp_e4 = pFName[bp0c->dwFirstChar + bp0c->dwCodeLength - (lolo.i + 1)] - '0';
				if(lolo.i == 0) {
					lolo.bp_d8 = lolo.bp_e4;
					lolo.bp_e0 = 10;
				} else {
					lolo.bp_d8 += lolo.bp_e4 * lolo.bp_e0;
					lolo.bp_e0 *= 10;
				}
			}//end for
			lolo.dwIndex += lolo.bp_d8;
		}
		//-- --
		lolo.dwBase = 0;
		lolo.dwDotIndex = 0;
		lolo.dwLen = strlen(pFName);
		if(lolo.dwLen > 0) {//else 005E26F8
			for(lolo.dwDotIndex = lolo.dwLen - 1; lolo.dwDotIndex >= 0; lolo.dwDotIndex --) {
				if(pFName[lolo.dwDotIndex] == '.')
					break;
			}//end for
		}
		switch(pFName[lolo.dwDotIndex + 1]) {
			case 'D':
				lolo.dwBase = 0;
			break;
			case 'B':
				lolo.dwBase = 1;
			break;
			case 'T':
				lolo.dwBase = 2;
				lolo.dwBase += (pFName[lolo.dwDotIndex + 2] - '0') * 10;
				lolo.dwBase += pFName[lolo.dwDotIndex + 3] - '0';
			break;
			case 'P':
				lolo.dwBase = 12;
				lolo.dwBase += (pFName[lolo.dwDotIndex + 2] - '0') * 10;
				lolo.dwBase += pFName[lolo.dwDotIndex + 3] - '0';
			break;
			case 'W':
				lolo.dwBase = 62;
				lolo.dwBase += (pFName[lolo.dwDotIndex + 2] - '0') * 10;
				lolo.dwBase += pFName[lolo.dwDotIndex + 3] - '0';
			break;
			case 'A':
				lolo.dwBase = 78;
			break;
			default:
				sprintf(lolo.bp_c8, /*008FF9D4*/"ERROR: EXTENSION NOT SUPPORTED %s \n", pFName);
				C_00664E30(lolo.bp_c8);//dx_dbg:kind of puts?
		}//end switch
		//-- --
		pObfuscated[0] = (lolo.dwIndex / 26) + 'A';
		pObfuscated[1] = (lolo.dwIndex % 26) + 'A';
		pObfuscated[2] = (lolo.dwBase / 26) + 'A';
		pObfuscated[3] = (lolo.dwBase % 26) + 'A';
		pObfuscated[4] = 0;
	}
}
the argument passed as "bp0c" is the array at 0x008FF2F0:
struct t_battle_obfuscateInfo {//size 0x18
	/*00*/const char *pPrefix;
	/*04*/int dwStartIndex;
	/*08*/int dwCodeLength;
	/*0c*/int dwFirstChar;
	/*10*/int dwElementCount;
	/*14*/int dwFullName;
};
struct t_battle_obfuscateInfo D_008FF2F0[0x17] = {
	{/*008FF900*/"ENEMY",   0,3,5,0x172,0},
	{/*008FF908*/"STAGE",   0,2,5,0x5a,0},
	{/*008FF910*/"FROG",    0,0,0,1,0},
	{/*008FF918*/"CLOUD",   0,0,0,1,0},
	{/*008FF920*/"TIFA",    0,0,0,1,0},
	{/*008FF928*/"EARITH",  0,0,0,1,0}, 
	{/*008FF930*/"RED13",   0,0,0,1,0}, 
	{/*008FF938*/"YUFI",    0,0,0,1,0}, 
	{/*008FF940*/"KETCY",   0,0,0,1,0}, 
	{/*008FF948*/"CID1",    0,0,0,1,0}, 
	{/*008FF950*/"SEFIROS", 0,0,0,1,0},
	{/*008FF958*/"BARRETT", 0,0,0,1,1},
	{/*008FF960*/"BARRETT2",0,0,0,1,1},
	{/*008FF96C*/"BARRETT3",0,0,0,1,1},
	{/*008FF978*/"BARRETT4",0,0,0,1,0},
	{/*008FF984*/"VINSENT", 0,0,0,1,1},
	{/*008FF98C*/"VINSENT2",0,0,0,1,1},
	{/*008FF998*/"VINSENT3",0,0,0,1,0},
	{/*008FF9A4*/"HICLOUD", 0,0,0,1,0},
	{/*008FF9AC*/"GALL",    0,0,0,1,0},
	{/*008FF9B4*/"DEATHGIG",0,0,0,1,0},
	{/*008FF9C0*/"HELLMASK",0,0,0,1,0},
	{/*008FF9CC*/"CHAOS",   0,0,0,1,0}
};