What's new

Convert a Soul Edge to its latest version, Soul Edge Ver. II (SO4/VER.C)

chacal231077

Grand Master
Joined
Dec 21, 2017
Messages
858
Reaction score
359
Location
France
Hi!:)

I would like to convert a Soul Edge to its latest version, Soul Edge Ver. II (SO4/VER.C)

I saw the video of caius Mach Breakers (Namco) PCB repair the same MB8316200 chip ,used in this game and the same on the Namco system 11 Rom board and the equivalent is the

MX29F1610 I would like to know if it will be necessary to change the 8 chips or just a few ?

Thank you :thumbup:
 
You ask this kind of question a lot, the basic way to figure it out is to find the two games in MAME on github, and look at the chips involved. You name the target revision, so here are the roms

Code:
ROM_START( souledge )
    ROM_REGION32_LE( 0x0400000, "maincpu:rom", 0 ) /* main prg */
    ROM_LOAD16_BYTE( "so4verc.2l",   0x0000000, 0x100000, CRC(12b8ae0d) SHA1(31571023d5b77ebcd4103b8cac5ba710a3d570a0) )
    ROM_LOAD16_BYTE( "so4verc.2j",   0x0000001, 0x100000, CRC(938262b0) SHA1(e806883e32c473a3c2bb07849126631f6d66fa66) )
    ROM_LOAD16_BYTE( "so1verc.2k",   0x0200000, 0x100000, CRC(1789e399) SHA1(2e11869124cdfa7a66107b0e642bdc72ee0c306a) )
    ROM_LOAD16_BYTE( "so1verc.2f",   0x0200001, 0x100000, CRC(8cffe1c3) SHA1(d54a0b1d55f33db2890bfa70c411cca3e446fccf) )

    ROM_REGION32_LE( 0x1000000, "bankedroms", 0 ) /* main data */
    ROM_LOAD16_BYTE( "so1rom0u.ic5", 0x0000000, 0x200000, CRC(e364d673) SHA1(70fd58fb912939c57e3a5fadd01c1467df08d4ac) )
    ROM_LOAD16_BYTE( "so1rom0l.ic6", 0x0000001, 0x200000, CRC(9c5b0858) SHA1(f3ac726f1167551beea7edc46e43b826b7baaf62) )
    ROM_LOAD16_BYTE( "so1rom1u.ic3", 0x0400000, 0x200000, CRC(8f9d8c5b) SHA1(ac1da70854eee344a645749f564366ceac571767) )
    ROM_LOAD16_BYTE( "so1rom1l.ic8", 0x0400001, 0x200000, CRC(4406ef16) SHA1(c86f199fdb1db23e5944ca51e6518b9cd0dafb71) )
    ROM_LOAD16_BYTE( "so1rom2u.ic4", 0x0800000, 0x200000, CRC(b4baa886) SHA1(0432692a4d71a3f1b47707efb6858927744940e4) )
    ROM_LOAD16_BYTE( "so1rom2l.ic7", 0x0800001, 0x200000, CRC(37c1f66e) SHA1(13a8a73fce142ea5ebe3f0c1050e44a027ab42a6) )
    ROM_LOAD16_BYTE( "so1rom3u.ic1", 0x0c00000, 0x200000, CRC(f11bd521) SHA1(baf936dec58cebfeef1c74f95e455b2fe74eb982) )
    ROM_LOAD16_BYTE( "so1rom3l.ic9", 0x0c00001, 0x200000, CRC(84465bcc) SHA1(d8be888d41cfe194c3a1853d9146d3a74ef7bab1) )

    ROM_REGION16_LE( 0x80000, "c76", 0 ) /* sound data */
    ROM_LOAD( "so1sprogc.6d", 0x0000000, 0x040000, CRC(2bbc118c) SHA1(4168a9aa525f1f0ce6cf6e14cfe4c118c4c0d773) )

    ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
    ROM_LOAD( "so1wave.8k",   0x000000, 0x400000, CRC(0e68836b) SHA1(c392b370a807803c7ab060105861253e1b407f49) )
    ROM_RELOAD( 0x800000, 0x400000 )
ROM_END

I am not sure what revision you're starting with. Here are the revisions:

Code:
GAME( 1996, souledge,   0,        souledge,   souledge,   namcos11_state, empty_init, ROT0, "Namco",         "Soul Edge Ver. II (Asia, SO4/VER.C)",          0 )
GAME( 1995, souledgeuc, souledge, souledge,   souledge,   namcos11_state, empty_init, ROT0, "Namco",         "Soul Edge Ver. II (US, SO3/VER.C)",            0 )
GAME( 1995, souledgea,  souledge, souledge,   souledge,   namcos11_state, empty_init, ROT0, "Namco",         "Soul Edge (World, SO2/VER.A)",                 0 )
GAME( 1995, souledgeua, souledge, souledge,   souledge,   namcos11_state, empty_init, ROT0, "Namco",         "Soul Edge (US, SO3/VER.A)",                    0 )
GAME( 1995, souledgeja, souledge, souledge,   souledge,   namcos11_state, empty_init, ROT0, "Namco",         "Soul Edge (Japan, SO1/VER.A)",                 0 )

but they're probably similar. So here is world souledgea

Code:
ROM_START( souledgea )
    ROM_REGION32_LE( 0x0400000, "maincpu:rom", 0 ) /* main prg */
    ROM_LOAD16_BYTE( "so2vera.2l",   0x0000000, 0x100000, CRC(0e9efc5c) SHA1(212b156f811174189fbf2ba908e67c6d76b9b4a6) )
    ROM_LOAD16_BYTE( "so2vera.2j",   0x0000001, 0x100000, CRC(fda023f5) SHA1(f0a5bb1c813a5ee8629cb590e473dd0f5f1f416e) )
    ROM_LOAD16_BYTE( "so2vera.2k",   0x0200000, 0x100000, CRC(29bdc6bb) SHA1(9047792c1a21a0001024939f1c6a8c3d86948973) )
    ROM_LOAD16_BYTE( "so2vera.2f",   0x0200001, 0x100000, CRC(c035b71b) SHA1(38719a75193774b124d845460c0c03d36849719d) )

    ROM_REGION32_LE( 0x1000000, "bankedroms", 0 ) /* main data */
    ROM_LOAD16_BYTE( "so1rom0u.ic5", 0x0000000, 0x200000, CRC(e364d673) SHA1(70fd58fb912939c57e3a5fadd01c1467df08d4ac) )
    ROM_LOAD16_BYTE( "so1rom0l.ic6", 0x0000001, 0x200000, CRC(9c5b0858) SHA1(f3ac726f1167551beea7edc46e43b826b7baaf62) )
    ROM_LOAD16_BYTE( "so1rom1u.ic3", 0x0400000, 0x200000, CRC(8f9d8c5b) SHA1(ac1da70854eee344a645749f564366ceac571767) )
    ROM_LOAD16_BYTE( "so1rom1l.ic8", 0x0400001, 0x200000, CRC(4406ef16) SHA1(c86f199fdb1db23e5944ca51e6518b9cd0dafb71) )
    ROM_LOAD16_BYTE( "so1rom2u.ic4", 0x0800000, 0x200000, CRC(b4baa886) SHA1(0432692a4d71a3f1b47707efb6858927744940e4) )
    ROM_LOAD16_BYTE( "so1rom2l.ic7", 0x0800001, 0x200000, CRC(37c1f66e) SHA1(13a8a73fce142ea5ebe3f0c1050e44a027ab42a6) )
    ROM_LOAD16_BYTE( "so1rom3u.ic1", 0x0c00000, 0x200000, CRC(f11bd521) SHA1(baf936dec58cebfeef1c74f95e455b2fe74eb982) )
    ROM_LOAD16_BYTE( "so1rom3l.ic9", 0x0c00001, 0x200000, CRC(84465bcc) SHA1(d8be888d41cfe194c3a1853d9146d3a74ef7bab1) )

    ROM_REGION16_LE( 0x80000, "c76", 0 ) /* sound data */
    ROM_LOAD( "so1sprog.6d",  0x0000000, 0x040000, CRC(f6f682b7) SHA1(a64e19be3f6e630b8c34f34b46b95aadfabd3f63) )

    ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
    ROM_LOAD( "so1wave.8k",   0x000000, 0x400000, CRC(0e68836b) SHA1(c392b370a807803c7ab060105861253e1b407f49) )
    ROM_RELOAD( 0x800000, 0x400000 )
ROM_END

For each chip, just look at the CRC value to see if it's the same between revisions. Usually I open two browser windows side by side and just take a look. If a given chip isn't the same between revisions, that is one where you'll have to change the chip. This does assume the memory map, security, io, etc are the same between the games, but I think that's true for these -- just pointing it out since converting other games often requires more work in those areas. Also you'd need to check that the chips that need changing are the same size as the original, or else compensate.

Anyway I count five differences, all 4 program roms and 1 sound data. All chip sizes are the same. You don't actually even need to look at the CRCs in this one, the names of the chips are different too.

To be safe, swap the files in the mame rom first and test it there.
 
Last edited:
You ask this kind of question a lot
Yes, I often ask this kind of question
biggrin.png


I always thought the latest version was closer to the console version.

I noticed a lot of difference in character digital voices. especially on Japan, SO1/VER.A the voices of Mitsurugi are horrible and much better on ver.II.

I'm going to go on a Romboard Japan, SO1/VER.

As I have several, it's the most popular, so no reget to do tests :thumbup:

I think to do the same with Tekken 2 ver.B in latest version and as I master soldering very well on this type of chip, no problem.:thumbup:

I converted a really ugly Fighting Layer censor Fighting Layer (FTL4/VER.A) that I converted to Fighting Layer (FTL0/VER.A), likewise an Ehrgeiz (EG2/VER.A) to Ehrgeiz (EG1 /VER.A).

Welding level looks like it comes from the factory lol :D.

Well, the strange thing is that if you don't change these roms, you lose all A.D.S; game time, unlock characters, etc... ?(

I have not yet dumped the rom (FTL4/VER.A) because my vellon VP598 does not read this type of chip ;(

I didn't do a test on MAME because I don't master the emulator lol I've never used one ;(
 
The mame part is the easy part. It will take me longer to type it than to do it:

download both roms
unzip into /roms/folder e.g. /roms/souledge and /roms/souledgea
delete the zip files

copy the five files from the /souledge folder that you want to run on the souledgea board… put them into the /souledgea folder.
delete the files you’d be replacing from /souledgea
rename the souledge files to be named like the old souledgea versions e.g. rename so4verc.2l to so2vera.2l … do this for all 5 files
run from the command line, with the debug flag for extra fun
e.g. "mame souledgea -debug"
then F5 boots it all

my guess is you'll also have to clear the nvram if you've booted it before, which you can do in mame by deleting it from the nvram folder, or possibly booting into test mode and using the game's clear-memory option. You'd have to do that with the pcb as well, probably.

Also, it works:

1650812928471.png
 
Last edited:
Back
Top