finalburnneo / FBNeo

FinalBurn Neo - We are Team FBNeo.
http://neo-source.com
Other
882 stars 355 forks source link

I tried to support lastest dumped bootleg board of wof, but failed. #1669

Closed SumavisionQ5 closed 4 months ago

SumavisionQ5 commented 5 months ago

Recently, a bootleg arcade board of "Sangokushi II/Warriors of fate" was dumped. This is a modified version featuring the bosses from wof as the main characters. The dumper has released the ROM and a modified version of MAME, and I've attempted to make it compatible with FBNeo. Below is the source code I modified, but upon testing, I found that all spirits in the game fail to display. I'm not familiar with the CPS layers mechnism. Could anyone help me figure out how to modify the codes to display the characters?

static struct BurnRomInfo wofsgzbRomDesc[] = { { "p23", 0x080000, 0xD4811B58, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP }, { "p22", 0x080000, 0xF99A6FD3, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP }, { "p21", 0x080000, 0x2C16579E, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },

{ "a10",    0x080000, 0x5414122B, BRF_GRA | CPS1_TILES },
{ "a11",    0x080000, 0x74BC2116, BRF_GRA | CPS1_TILES },
{ "a12",    0x080000, 0x529EE8EF, BRF_GRA | CPS1_TILES },
{ "a13",    0x080000, 0x9A951CD8, BRF_GRA | CPS1_TILES },
{ "a1",     0x080000, 0x0D9CB9BF, BRF_GRA | CPS1_TILES },
{ "a2",     0x080000, 0x45227027, BRF_GRA | CPS1_TILES },
{ "a3",     0x080000, 0xC5CA2460, BRF_GRA | CPS1_TILES },
{ "a4",     0x080000, 0xE349551C, BRF_GRA | CPS1_TILES },
{ "a5",     0x080000, 0x71ADDDA7, BRF_GRA | CPS1_TILES },
{ "a6",     0x080000, 0x9AD61056, BRF_GRA | CPS1_TILES },
{ "a7",     0x080000, 0x80E231FF, BRF_GRA | CPS1_TILES },
{ "a8",     0x080000, 0xB0707469, BRF_GRA | CPS1_TILES },

{ "m9",     0x010000, 0x210C376F, BRF_PRG | CPS1_Z80_PROGRAM },

{ "m18",    0x020000, 0xAB740743, BRF_SND | CPS1_OKIM6295_SAMPLES },
{ "m19",    0x020000, 0xFBB8D8C1, BRF_SND | CPS1_OKIM6295_SAMPLES },

};

STD_ROM_PICK(wofsgzb) STD_ROM_FN(wofsgzb)

struct BurnDriver BurnDrvCpswofsgzb = { "wofsgzb", "wof", NULL, NULL, "2005", "Sangokushi 2(San Guo Zheng Ba)\0", "Hack", "bootleg", "CPS1", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 3, HARDWARE_CAPCOM_CPS1, GBF_SCRFIGHT, 0, NULL, wofsgzbRomInfo, wofsgzbRomName, NULL, NULL, NULL, NULL, WofhfhInputInfo, WofhfhDIPInfo, TwelveMhzInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan, &CpsRecalcPal, 0x1000, 384, 224, 4, 3 };

//static const struct GameConfig ConfigTable[] = ... { "wofsgzb" , CPS_B_21_DEF, mapper_TK263B, 0, NULL }, ...

ROM&modified version of MAME: https://drive.google.com/file/d/1Bq_1VwmrhMpk1t94EJPMErWiS3ej1OuV/view?usp=sharing The game should run like this. 0000 0001 0002 0003

SumavisionQ5 commented 5 months ago

@dinkc64 @taoenwen I need your help :)

dinkc64 commented 5 months ago

I think it might be the mapper stuff that needs changing? I'm not too good with cps1, spent about an hour on it so far and no luck. Hopefully taoenwen knows more about this stuff?

Can you ask for the source for that mame build?

dinkc64 commented 5 months ago

here's the d_cps1.cpp with additions to make it easier for anyone to work on:

sgzb.zip

SumavisionQ5 commented 5 months ago

I think it might be the mapper stuff that needs changing? I'm not too good with cps1, spent about an hour on it so far and no luck. Hopefully taoenwen knows more about this stuff?

Can you ask for the source for that mame build?

No, it's closed source. It's a pity.

dinkc64 commented 4 months ago

My only guess is to try each mapper_????? value until it works, some of them get sprites, but they're from the wrong gfx

dinkc64 commented 4 months ago

I tried about 10 different mappers, and some display sprites, but its the wrong gfx for the sprites. I think the solution is to try all the mappers until it works. or maybe ask the author of closed source emu if he will tell the mapper,etc info for this game? He will get credit on fbn github, at least.

SumavisionQ5 commented 4 months ago

I tried about 10 different mappers, and some display sprites, but its the wrong gfx for the sprites. I think the solution is to try all the mappers until it works. or maybe ask the author of closed source emu if he will tell the mapper,etc info for this game? He will get credit on fbn github, at least.

Sorry, I don't think the authors of closed source emu will do it, because they are the authors of FBAS.

taoenwen commented 4 months ago

@dinkc64 @SumavisionQ5 https://github.com/finalburnneo/FBNeo/pull/1681/commits/5cac73d10d28e11cdc9737bdea5bf7da1cccac03

wofsgzb is working now.

image image image

SumavisionQ5 commented 4 months ago

@taoenwen Thanks a lot. You are fantastic. After reading your codes, I found that this bootleg can uses same mapper as sfzch. In that case we don't need to add new mapper.

` static struct BurnRomInfo wofsgzbRomDesc[] = { { "p23", 0x080000, 0xD4811B58, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP }, { "p22", 0x080000, 0xF99A6FD3, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP }, { "p21", 0x080000, 0x2C16579E, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },

{ "a10", 0x080000, 0x5414122B, BRF_GRA | CPS1_TILES }, { "a11", 0x080000, 0x74BC2116, BRF_GRA | CPS1_TILES }, { "a12", 0x080000, 0x529EE8EF, BRF_GRA | CPS1_TILES }, { "a13", 0x080000, 0x9A951CD8, BRF_GRA | CPS1_TILES },
{ "a10", 0x080000, 0x5414122B, BRF_GRA | CPS1_TILES }, // repeat it. { "a11", 0x080000, 0x74BC2116, BRF_GRA | CPS1_TILES }, // repeat it. { "a12", 0x080000, 0x529EE8EF, BRF_GRA | CPS1_TILES }, // repeat it. { "a13", 0x080000, 0x9A951CD8, BRF_GRA | CPS1_TILES }, // repeat it. { "a1", 0x080000, 0x0D9CB9BF, BRF_GRA | CPS1_TILES }, { "a2", 0x080000, 0x45227027, BRF_GRA | CPS1_TILES }, { "a3", 0x080000, 0xC5CA2460, BRF_GRA | CPS1_TILES }, { "a4", 0x080000, 0xE349551C, BRF_GRA | CPS1_TILES }, { "a5", 0x080000, 0x71ADDDA7, BRF_GRA | CPS1_TILES }, { "a6", 0x080000, 0x9AD61056, BRF_GRA | CPS1_TILES }, { "a7", 0x080000, 0x80E231FF, BRF_GRA | CPS1_TILES }, { "a8", 0x080000, 0xB0707469, BRF_GRA | CPS1_TILES },

{ "m9", 0x010000, 0x210C376F, BRF_PRG | CPS1_Z80_PROGRAM },

{ "m18", 0x020000, 0xAB740743, BRF_SND | CPS1_OKIM6295_SAMPLES }, { "m19", 0x020000, 0xFBB8D8C1, BRF_SND | CPS1_OKIM6295_SAMPLES }, };

{ "wofsgzb" , CPS_B_21_DEF, mapper_sfzch, 0, NULL },` It works and I think this is better.

@dinkc64 Thank you all the same, I think I can close this issue now.

barbudreadmon commented 4 months ago

After reading your codes, I found that this bootleg uses same mapper as sfzch.

The mapper looks different though ?

SumavisionQ5 commented 4 months ago

After reading your codes, I found that this bootleg uses same mapper as sfzch.

The mapper looks different though ?

I edit the codes a little bit after that. Repeating a10-a13 will also work.

taoenwen commented 4 months ago

I found that this bootleg can uses same mapper as sfzch. In that case we don't need to add new mapper.

@SumavisionQ5 I didn't find the same mapper, that's why I added it

SumavisionQ5 commented 4 months ago

I found that this bootleg can uses same mapper as sfzch. In that case we don't need to add new mapper.

@SumavisionQ5 I didn't find the same mapper, that's why I added it

if you repeat a10-a13, the sfzch mapper will work for it. I think your solution is right, mine is just a trick.

taoenwen commented 4 months ago

I don't think we need to add extras, if the work is a bootleg the extras won't be there, if the work is a hack it might be nice to leave it as it is, at least the author won't say anything more.