Author Topic: How add roms hack neogeo?  (Read 897 times)

Offline Fighterchar

  • Newbies
  • *
  • Posts: 18
  • Karma: +0/-0
How add roms hack neogeo?
« on: February 01, 2018, 02:56:18 pm »
Hello I wana add some roms hacks Neogeo roms, same kof2k2omg, Kof98ice, Kof2k2oi, among others, but how is it posible?
I have the parent rom and the rom hack, this found in winkawaks whit loader but the emulator havent tool assisted for do TAS.
If it is posible what I need to do?

I shared the link kof2k2omg http://www.mediafire.com/.zip
and the parent zip
They found correctly in kawaks

« Last Edit: February 01, 2018, 03:52:53 pm by iq_132 »

Offline iq_132

  • Administrator
  • *****
  • Posts: 3511
  • Karma: +366/-0
  • No one expects the Spanish Inquisition!
    • NeoSource
Re: How add roms hack neogeo?
« Reply #1 on: February 01, 2018, 03:53:55 pm »
For final burn alpha or mame you would have to compile the source. Not necessarily an easy task.


Offline Fighterchar

  • Newbies
  • *
  • Posts: 18
  • Karma: +0/-0
Re: How add roms hack neogeo?
« Reply #2 on: February 02, 2018, 12:44:07 am »
Thank you, there are a tutorial for to learn to do it?

Offline barbudreadmon

  • Expert
  • *****
  • Posts: 248
  • Karma: +7/-0
  • lr-fbalpha developer
Re: How add roms hack neogeo?
« Reply #3 on: February 02, 2018, 03:35:40 am »
So i got curious myself about this, and tried adding :
Code: [Select]
// Kof2002 (hack omg)

static struct BurnRomInfo kof2k2omgRomDesc[] = {
{ "265omg.p1",    0x100000, 0x62174834, 1 | BRF_ESS | BRF_PRG }, //  0 68K code
{ "265omg.p2",    0x400000, 0x6fadc5c3, 1 | BRF_ESS | BRF_PRG }, //  1

{ "265omg.s1",    0x020000, 0x6145daf4, 2 | BRF_GRA },           //  2 Text layer tiles

{ "265xxx.c1",    0x800000, 0x745b343e, 3 | BRF_GRA },           //  3 Sprite data
{ "265xxx.c2",    0x800000, 0x2aab7f98, 3 | BRF_GRA },           //  4
{ "265ori.c3",    0x800000, 0xe5074eea, 3 | BRF_GRA },           //  5
{ "265ori.c4",    0x800000, 0xf6eb1ff2, 3 | BRF_GRA },           //  6
{ "265d.c5",      0x800000, 0x74bba7c6, 3 | BRF_GRA },           //  7
{ "265d.c6",      0x800000, 0xe20d2216, 3 | BRF_GRA },           //  8
{ "265ori.c7",    0x800000, 0x0e9f6adb, 3 | BRF_GRA },           //  9
{ "265ori.c8",    0x800000, 0x9961799e, 3 | BRF_GRA },           // 10

{ "265ori.m1",    0x020000, 0xab9d360e, 4 | BRF_ESS | BRF_PRG }, // 11 Z80 code

{ "265nu.v1",     0x400000, 0x13d98607, 5 | BRF_SND },           // 12 Sound data
{ "265nu.v2",     0x400000, 0x9cf74677, 5 | BRF_SND },           // 13
{ "265nu.v3",     0x400000, 0x8e9448b5, 5 | BRF_SND },           // 14
{ "265nu.v4",     0x400000, 0x067271b5, 5 | BRF_SND },           // 15
};

STDROMPICKEXT(kof2k2omg, kof2k2omg, neogeo)
STD_ROM_FN(kof2k2omg)

struct BurnDriver BurnDrvkof2k2omg = {
"kof2k2omg", "kof2002", "neogeo", NULL, "2002",
"Kof2002 (hack omg)\0", NULL, "bootleg", "KOF-ON Team",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO | HARDWARE_SNK_CMC50 | HARDWARE_SNK_ENCRYPTED_M1, GBF_VSFIGHT, FBF_KOF,
NULL, kof2k2omgRomInfo, kof2k2omgRomName, NULL, NULL, neogeoInputInfo, neogeoDIPInfo,
kof2002Init, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
0x1000, 304, 224, 4, 3
};

to d_neogeo.cpp (see https://github.com/Robbbert/hbmame/blob/master/src/hbmame/drivers/kof2002.cpp for the crc)

But for whatever reason, when i try launching it, it complains about the file 265omg.p1 (with crc 62174834) being missing, of course i made sure i had the right rom in the right folder with the right crc. What am i overlooking ?

Offline Fighterchar

  • Newbies
  • *
  • Posts: 18
  • Karma: +0/-0
Re: How add roms hack neogeo?
« Reply #4 on: February 02, 2018, 07:20:19 pm »
I dont know, but wow, nice work, maybe the roms I shared the rom links

Need two roms to found correctly
kof2k2nd.zip is the parent rom

In Kawaks this found correcty only using two roms
« Last Edit: February 02, 2018, 07:22:52 pm by iq_132 »

Offline iq_132

  • Administrator
  • *****
  • Posts: 3511
  • Karma: +366/-0
  • No one expects the Spanish Inquisition!
    • NeoSource
Re: How add roms hack neogeo?
« Reply #5 on: February 02, 2018, 07:23:12 pm »
I dont know, but wow, nice work, maybe the roms I shared the rom links

Need two roms to found correctly
kof2k2nd.zip is the parent rom

In Kawaks this found correcty only using two roms

No roms here please.


Offline Fighterchar

  • Newbies
  • *
  • Posts: 18
  • Karma: +0/-0
Re: How add roms hack neogeo?
« Reply #6 on: February 02, 2018, 07:32:13 pm »
ok sorry  :wink:

Offline Robert

  • MAME Devs
  • *****
  • Posts: 389
  • Karma: +27/-0
    • The MESSUI Place
Re: How add roms hack neogeo?
« Reply #7 on: February 03, 2018, 04:41:33 pm »
The rom with CRC=62174834 has a length of 0x12bd4c1, not 0x1000000.

Code: [Select]
    ROM_LOAD16_WORD_SWAP( "265omg.p1", 0x000000, 0x100000, CRC(62174834) SHA1(7bdfa0260bba90b0325b90849fb8f9acef34c3f4) )
    ROM_IGNORE( 0x2bd4c1 )


If FBA can't simulate ROM_IGNORE, you could snip off the unwanted part from the rom with a tool. This will produce a different CRC which you'll have to add to your code.
« Last Edit: February 03, 2018, 04:44:53 pm by Robert »

Offline barbudreadmon

  • Expert
  • *****
  • Posts: 248
  • Karma: +7/-0
  • lr-fbalpha developer
Re: How add roms hack neogeo?
« Reply #8 on: February 04, 2018, 05:26:41 am »
If FBA can't simulate ROM_IGNORE, you could snip off the unwanted part from the rom with a tool. This will produce a different CRC which you'll have to add to your code.
I checked a few games using this feature in hbmame against fba, it doesn't seem they exist in fba so i guess it means this feature doesn't exist ?

kof2k2omg8, kof2k2omg9 and kof2k2omg9b don't seem to use this though, so i'll check if i can get them to work in fba. Do you know if they are older or newer version of this hack ?

Offline barbudreadmon

  • Expert
  • *****
  • Posts: 248
  • Karma: +7/-0
  • lr-fbalpha developer
Re: How add roms hack neogeo?
« Reply #9 on: February 04, 2018, 06:23:41 am »
kof2k2omg8, kof2k2omg9 and kof2k2omg9b don't seem to use this though, so i'll check if i can get them to work in fba. Do you know if they are older or newer version of this hack ?
I got kof2k2omg8 loading with this :
Code: [Select]
// Kof2002 (Omega v0.8)

static struct BurnRomInfo kof2k2omg8RomDesc[] = {
{ "265omg8.p1",   0x100000, 0x53086581, 1 | BRF_ESS | BRF_PRG }, //  0 68K code
{ "265omg8.p2",   0x400000, 0x40228fe5, 1 | BRF_ESS | BRF_PRG }, //  1

{ "265omg8.s1",   0x020000, 0x65351d40, 2 | BRF_GRA },           //  2 Text layer tiles

{ "265omg8.c1",   0x800000, 0xe144302d, 3 | BRF_GRA },           //  3 Sprite data
{ "265omg8.c2",   0x800000, 0xb10c6958, 3 | BRF_GRA },           //  4
{ "265omg8.c3",   0x800000, 0x2367927c, 3 | BRF_GRA },           //  5
{ "265omg8.c4",   0x800000, 0x4ad48c29, 3 | BRF_GRA },           //  6
{ "365ru.c5",     0x800000, 0x11126545, 3 | BRF_GRA },           //  7
{ "365ru.c6",     0x800000, 0xd225bb9b, 3 | BRF_GRA },           //  8
{ "265omg8.c7",   0x800000, 0x890c2a4a, 3 | BRF_GRA },           //  9
{ "265omg8.c8",   0x800000, 0xb726009d, 3 | BRF_GRA },           // 10

{ "265omg8.m1",   0x040000, 0x9a3d5c65, 4 | BRF_ESS | BRF_PRG }, // 11 Z80 code

{ "kf10-v1.bin",  0x800000, 0x0fc9a58d, 5 | BRF_SND },           // 12 Sound data
{ "kf10-v2.bin",  0x800000, 0xb8c475a4, 5 | BRF_SND },           // 13
};

STDROMPICKEXT(kof2k2omg8, kof2k2omg8, neogeo)
STD_ROM_FN(kof2k2omg8)

struct BurnDriver BurnDrvkof2k2omg8 = {
"kof2k2omg8", "kof2002", "neogeo", NULL, "2010",
"Kof2002 (Omega v0.8)\0", NULL, "bootleg", "KOF-ON Team",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO, GBF_VSFIGHT, FBF_KOF,
NULL, kof2k2omg8RomInfo, kof2k2omg8RomName, NULL, NULL, neogeoInputInfo, neogeoDIPInfo,
kof2002Init, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
0x1000, 304, 224, 4, 3
};
The graphics are messed up though, and i can't go past the select champ screen (i tried some additional HARDWARE_SNK_* flags, but all of them seemed to break the game further), so i guess it needs some additional things (i expected this), any idea what i should try doing next ?

PS : i'm mainly interested in the process of thought, not the final result :p.

Offline Robert

  • MAME Devs
  • *****
  • Posts: 389
  • Karma: +27/-0
    • The MESSUI Place
Re: How add roms hack neogeo?
« Reply #10 on: February 04, 2018, 10:56:42 am »
I'm not familiar with FBA programming, but the "kof2002Init" I suspect should not be there. The set is completely unencrypted. Find out what "eightman" uses in that field and give that a go.

Offline barbudreadmon

  • Expert
  • *****
  • Posts: 248
  • Karma: +7/-0
  • lr-fbalpha developer
Re: How add roms hack neogeo?
« Reply #11 on: February 04, 2018, 11:01:09 am »
I'm not familiar with FBA programming, but the "kof2002Init" I suspect should not be there. The set is completely unencrypted. Find out what "eightman" uses in that field and give that a go.
Didn't thought about that. Yes it makes sense to use a init function which doesn't handle encryption.

Offline barbudreadmon

  • Expert
  • *****
  • Posts: 248
  • Karma: +7/-0
  • lr-fbalpha developer
Re: How add roms hack neogeo?
« Reply #12 on: February 04, 2018, 12:06:00 pm »
Didn't thought about that. Yes it makes sense to use a init function which doesn't handle encryption.
Code: [Select]
// Kof2002 (Omega v0.8)

static struct BurnRomInfo kof2k2omg8RomDesc[] = {
{ "265omg8.p1",   0x100000, 0x53086581, 1 | BRF_ESS | BRF_PRG }, //  0 68K code
{ "265omg8.p2",   0x400000, 0x40228fe5, 1 | BRF_ESS | BRF_PRG }, //  1

{ "265omg8.s1",   0x020000, 0x65351d40, 2 | BRF_GRA },           //  2 Text layer tiles

{ "265omg8.c1",   0x800000, 0xe144302d, 3 | BRF_GRA },           //  3 Sprite data
{ "265omg8.c2",   0x800000, 0xb10c6958, 3 | BRF_GRA },           //  4
{ "265omg8.c3",   0x800000, 0x2367927c, 3 | BRF_GRA },           //  5
{ "265omg8.c4",   0x800000, 0x4ad48c29, 3 | BRF_GRA },           //  6
{ "365ru.c5",     0x800000, 0x11126545, 3 | BRF_GRA },           //  7
{ "365ru.c6",     0x800000, 0xd225bb9b, 3 | BRF_GRA },           //  8
{ "265omg8.c7",   0x800000, 0x890c2a4a, 3 | BRF_GRA },           //  9
{ "265omg8.c8",   0x800000, 0xb726009d, 3 | BRF_GRA },           // 10

{ "265omg8.m1",   0x040000, 0x9a3d5c65, 4 | BRF_ESS | BRF_PRG }, // 11 Z80 code

{ "kf10-v1.bin",  0x800000, 0x0fc9a58d, 5 | BRF_SND },           // 12 Sound data
{ "kf10-v2.bin",  0x800000, 0xb8c475a4, 5 | BRF_SND },           // 13
};

STDROMPICKEXT(kof2k2omg8, kof2k2omg8, neogeo)
STD_ROM_FN(kof2k2omg8)

struct BurnDriver BurnDrvkof2k2omg8 = {
"kof2k2omg8", "kof2002", "neogeo", NULL, "2010",
"Kof2002 (Omega v0.8)\0", NULL, "bootleg", "KOF-ON Team",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO, GBF_VSFIGHT, FBF_KOF,
NULL, kof2k2omg8RomInfo, kof2k2omg8RomName, NULL, NULL, neogeoInputInfo, neogeoDIPInfo,
NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette,
0x1000, 304, 224, 4, 3
};
It works ! Except perhaps something missing on the title screen ? (see my screenshot)

To the OP :
- Follow the guide at http://neo-source.com/index.php?topic=2379.0 up to IV
- Copy/paste my code at the end of src/burn/drv/neogeo/d_neogeo.cpp
- Finish the instructions in the guide

I'll take a look at version 9 and 9b later (or you could try adding it yourself if you understood the general process)

Offline Fighterchar

  • Newbies
  • *
  • Posts: 18
  • Karma: +0/-0
Re: How add roms hack neogeo?
« Reply #13 on: February 06, 2018, 12:54:30 am »
the process is so hard for me  :eek:

Offline barbudreadmon

  • Expert
  • *****
  • Posts: 248
  • Karma: +7/-0
  • lr-fbalpha developer
Re: How add roms hack neogeo?
« Reply #14 on: February 06, 2018, 01:54:34 am »
the process is so hard for me  :eek:
Actually i wasn't able to get version 9 to work yet, the rom seems to load fine but the emulator crash, and my debug tools didn't give me any useful information, so i guess there is some kind of protection/encryption ?
I didn't try version 9b.