したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

KOF2003

1185 </b><font color=#FF0000>(qZ./fy2c)</font><b>:2004/01/18(日) 03:39
そろそろらしい?

436名無しさん:2004/05/01(土) 00:43
新スレ立てるほどでもないので借ります。
ぽちっとにゃ〜のリダンプ記念てことで。
C言語よく分ってないので適当ですけど動きました。

ROM_START( pnyaa )
ROM_REGION( 0x080000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "267-p1.bin", 0x000000 , 0x080000, CRC(400FD762) SHA1(C03E96B3629DE92C2CCDE11D6E879DAD85A36078) )

ROM_REGION( 0x20000, REGION_GFX1, 0 )
ROM_FILL( 0x000000, 0x20000, 0 )
ROM_REGION( 0x20000, REGION_GFX2, 0 )
ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) )

NEO_BIOS_SOUND_512K( "267-m1d.bin" , CRC(31A88936) SHA1(49E950A6EBDFE124DAA18CE638EFB270EC2F3C67) )

ROM_REGION( 0x0400000, REGION_SOUND1 , ROMREGION_SOUNDONLY )
ROM_LOAD( "267-v1.bin" , 0x000000 , 0x400000 , CRC(21FBDDB1) SHA1(9BE32BFD27CCC895DD66DF8E43E43F90C71E5748) )

NO_DELTAT_REGION

ROM_REGION( 0x0800000, REGION_GFX3, 0 )
ROM_LOAD16_BYTE( "267-c1.bin" , 0x0000000 , 0x0800000 , CRC(2E20617A) SHA1(ED73724377A321AA024A5886EB148C416D4451AA) )
ROM_LOAD16_BYTE( "267-c2.bin" , 0x0000001 , 0x0800000 , CRC(4EDFA720) SHA1(1407A1D0D44F73C1A196C95D368D6451B17F6176) )
ROM_END


ROM_START( pnyaad )
ROM_REGION( 0x100000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "267-p1.bin", 0x000000 , 0x080000, CRC(400FD762) SHA1(C03E96B3629DE92C2CCDE11D6E879DAD85A36078) )

ROM_REGION( 0x20000, REGION_GFX1, 0 )
ROM_FILL( 0x000000, 0x20000, 0 )
ROM_REGION( 0x20000, REGION_GFX2, 0 )
ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) )

NEO_BIOS_SOUND_512K( "267-m1d.bin" , CRC(31A88936) SHA1(49E950A6EBDFE124DAA18CE638EFB270EC2F3C67) )

ROM_REGION( 0x0400000, REGION_SOUND1 , ROMREGION_SOUNDONLY )
ROM_LOAD( "267-v1.bin" , 0x000000 , 0x400000 , CRC(21FBDDB1) SHA1(9BE32BFD27CCC895DD66DF8E43E43F90C71E5748) )

NO_DELTAT_REGION

ROM_REGION( 0x1000000, REGION_GFX3, 0 )
ROM_LOAD16_BYTE( "267-c1d.bin" , 0x0000000 , 0x0800000 , CRC(2BD02A33) SHA1(77771ACE5C27679F09454D3B3C5AA4F761259263) )
ROM_LOAD16_BYTE( "267-c2d.bin" , 0x0000001 , 0x0800000 , CRC(8FB27B0B) SHA1(84C9E7994F00E44841E6324219FD5F2E6AB5CA15) )
ROM_END

437名無しさん:2004/05/01(土) 00:43
DRIVER_INIT( pnyaa )
{
neogeo_fix_bank_type = 1;
kof2000_neogeo_gfx_decrypt(0x2f);

UINT8 *dst1 = malloc(0x1000000);
UINT8 *roms1 = (memory_region(REGION_GFX3));
int j;
if ( dst1 )
{
memcpy(dst1,roms1,0x1000000);
for (j=0;j<0x1000000 ; j =0x000008)
{
memcpy( roms1 j, dst1 j 0x000004,4);
memcpy( roms1 j 0x000004, dst1 j,4);

}
}
free( dst1 );

UINT8 *dst2 = malloc(0x20000);
UINT8 *roms2 = (memory_region(REGION_GFX1));
if ( dst2 )
{
memcpy(dst2,roms2,0x20000);
for (j=0;j<0x20000 ; j =0x000002)
{
memcpy( roms2 j, dst2 j 0x000001,1);
memcpy( roms2 j 0x000001, dst2 j,1);

}
}
free( dst2 );

init_neogeo();
}

DRIVER_INIT( pnyaad )
{
int i;
extern int neogeo_fix_bank_type;
int tx_size = memory_region_length(REGION_GFX1);
int rom_size = memory_region_length(REGION_GFX3);
UINT8 *src = memory_region(REGION_GFX3) rom_size-tx_size;
UINT8 *dst = memory_region(REGION_GFX1);
neogeo_fix_bank_type = 1;

for (i = 0;i < tx_size;i )
dst[i] = src[(i & ~0x1f) ((i & 7) << 2) ((~i & 8) >> 2) ((i & 0x10) >> 4)];

init_neogeo();
}

GAMEB( 2002, pnyaa, neogeo, neogeo, neogeo, neogeo, pnyaa, ROT0, "TAITO / AIKY", "Pochi and Nyaa (No Sound)" )
GAMEB( 2002, pnyaad, pnyaa, neogeo, neogeo, neogeo, pnyaad, ROT0, "TAITO / AIKY", "Pochi and Nyaa (No Sound / decrypted C)" )

438名無しさん:2004/05/01(土) 16:36
>436
Thanx!

textがまだおかしかったので、ちと書き換えてみた。

DRIVER_INIT( pnyaa )
{
neogeo_fix_bank_type = 1;
kof2000_neogeo_gfx_decrypt(0x2F);

UINT8 *dst1 = malloc( 0x1000000 );
UINT8 *roms1 = memory_region( REGION_GFX3 );
int i,j;
memcpy( dst1, roms1, 0x1000000 );
if ( dst1 ) {
for ( j = 0; j < 0x1000000; j = 0x000008 ) {
memcpy( roms1 j, dst1 j 0x000004, 4 );
memcpy( roms1 j 0x000004, dst1 j, 4 );
}
}
free( dst1 );

int tx_size = memory_region_length(REGION_GFX1);
int rom_size = memory_region_length(REGION_GFX3);
UINT8 *src = memory_region(REGION_GFX3) rom_size - tx_size;
UINT8 *roms2 = memory_region(REGION_GFX1);
for ( i = 0; i < tx_size; i )
roms2[i] = src[(i & ~0x1f) ((i & 7) << 2) ((~i & 8) >> 2) ((i & 0x10) >> 4)];

UINT8 *dst2 = malloc( 0x20000 );
memcpy( dst2, roms2, 0x20000 );
if ( dst2 ) {
for ( j = 0; j < 0x20000; j = 0x000002 ) {
memcpy( roms2 j, dst2 j 0x000001, 1 );
memcpy( roms2 j 0x000001, dst2 j, 1 );
}
}
free( dst2 );

init_neogeo();
}

439436:2004/05/01(土) 18:53
>438
レスThanxです。
なぜかウチの環境だと438氏の案だと逆にtextがおかしくなるのでこちらの修正案。
デコード後にスワップして正しいCロムにしてそこからtextを抽出してみた。
438氏のやつだとデコード→Cスワップ→正しいCからtext抽出→textスワップなのでTextスワップが余計な気がする。
変数が適当なのはいろんなソースの流用なので簡便してね。

DRIVER_INIT( pnyaa )
{
kof2000_neogeo_gfx_decrypt(0x2f);

UINT8 *dst1 = malloc(0x1000000);
UINT8 *roms1 = (memory_region(REGION_GFX3));
int j;
if ( dst1 )
{
memcpy(dst1,roms1,0x1000000);
for (j=0;j<0x1000000 ; j =0x000008)
{
memcpy( roms1 j, dst1 j 0x000004,4);
memcpy( roms1 j 0x000004, dst1 j,4);

}
}
free( dst1 );

int i;
extern int neogeo_fix_bank_type;
int tx_size = memory_region_length(REGION_GFX1);
int rom_size = memory_region_length(REGION_GFX3);
UINT8 *src = memory_region(REGION_GFX3) rom_size-tx_size;
UINT8 *dst = memory_region(REGION_GFX1);
neogeo_fix_bank_type = 1;

for (i = 0;i < tx_size;i )
dst[i] = src[(i & ~0x1f) ((i & 7) << 2) ((~i & 8) >> 2) ((i & 0x10) >> 4)];

init_neogeo();
}

440438:2004/05/01(土) 22:47
うちのは、sのサイズ指定を間違えてた。スマン

ついでに、間違いを見つけた
>436
ROM_REGION( 0x0800000, REGION_GFX3, 0 )
-> ROM_REGION( 0x1000000, REGION_GFX3, 0 )

>439
memcpy(dst1,roms1,0x1000000);
if ( dst1 )
{
for (j=0;j<0x1000000 ; j =0x000008)

今はなぜか動いているみたいだけど、memcpyを先にしないとdst1は空のはず。

extern int neogeo_fix_bank_type;

たぶんいらない。

441436:2004/05/01(土) 23:42
ご指摘ありがとうございます。
ROM_REGION( 0x0800000, REGION_GFX3, 0 )
は直すの忘れてました。すみません。

memcpy(dst1,roms1,0x1000000);
if ( dst1 )
{
for (j=0;j<0x1000000 ; j =0x000008)
の部分はms5plusのs1スワップをコピーして使ったのでまったく気が付きませんでした。
謎ですが、なぜかこれで動くみたいですね。

extern int neogeo_fix_bank_type;
もいらないですね。
これも何も考えずにコピペしたのでご容赦ください。

442438:2004/05/02(日) 00:06
memcpyは勘違いかもしれません。
dst1が空でも問題ないですが、dst1がなかったらクラッシュするかもしれない。

どうなんでしょ?

443436:2004/05/02(日) 00:58
う〜ん
UINT8 *dst1 = malloc(0x1000000);
で領域を確保してるからOKなのでは?
たぶん領域確保しないまま作業しないように
if(dst1)が存在するんじゃないかな?

444438:2004/05/02(日) 21:17
やっぱり勘違いだった。
dst1には領域確保失敗でNULL、成功の時はメモリブロックのポインタが入るので
元のが正しいですね。

445名無しさん:2004/05/03(月) 16:20
あのー,decrypt版バイナリならドライバ不要なのでは?
以下でドライバ不要で音無ですがプレイ可でした。

ROM_START( pnyaa )
ROM_REGION( 0x080000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "267-p1d.bin", 0x000000 , 0x080000, CRC(400FD762) SHA1(C03E96B3629DE92C2CCDE11D6E879DAD85A36078) )

NEO_SFIX_128K( "267-s1d.bin", CRC(88ffbb15) SHA1(e5b97c17167c44f6425006e939149c9fb4e6b1b2) )

NEO_BIOS_SOUND_512K( "267-m1d.bin" , CRC(31A88936) SHA1(49E950A6EBDFE124DAA18CE638EFB270EC2F3C67) )

ROM_REGION( 0x0400000, REGION_SOUND1 , ROMREGION_SOUNDONLY )
ROM_LOAD( "267-v1.bin" , 0x000000 , 0x400000 , CRC(21FBDDB1) SHA1(9BE32BFD27CCC895DD66DF8E43E43F90C71E5748) )

NO_DELTAT_REGION

ROM_REGION( 0x1000000, REGION_GFX3, 0 )
ROM_LOAD16_BYTE( "267-c1d.bin" , 0x0000000 , 0x0800000 , CRC(2BD02A33) SHA1(77771ACE5C27679F09454D3B3C5AA4F761259263) )
ROM_LOAD16_BYTE( "267-c2d.bin" , 0x0000001 , 0x0800000 , CRC(8FB27B0B) SHA1(84C9E7994F00E44841E6324219FD5F2E6AB5CA15) )
ROM_END

GAMEB( 2002, pnyaa, neogeo, neogeo, neogeo, neogeo, neogeo, ROT0, "TAITO / AIKY", "Pochi and Nyaa (No Sound , decrypted)" )

446436:2004/05/03(月) 20:29
ドライバ部分に関してはどちらでもいいような気もしますが、
個人的に他のkof99などのdecryptセットと同じく
Cロムから抽出する方法をとっています。
もちろん、445氏の方法も間違いというわけではありませんが、
s1ロムがもともと存在しないのにdecrypt版だけs1があるのも変かな
と言うのが個人的な考えです。
まぁ本当にどっちでもいいことですけど。

447名無しさん:2004/05/04(火) 18:55
kof2003の正規版出たけど、MAMEでできないかな?
専用BIOSあるし、Pロムとかどうやってデコードしてるかさっぱりだし無理かな・・・

448名無しさん:2004/05/07(金) 03:47
biosのパッチはこれで逝けると思われ
ttp://xtp0001.s3.x-beat.com/cgi-bin/up/source/Sonata_8459zip.html

449名無しさん:2004/05/07(金) 22:19
Pロム、メモリから切り出しても(7MB)そのままじゃ動かないね。
もちろん専用BIOS使用して。

450名無しさん:2004/05/14(金) 18:18
暫定(まだ動かない)

ROM_REGION( 0x900000, REGION_CPU1, 0 )
ROM_LOAD32_WORD( "271-p1.bin", 0x000000, 0x400000, 0xb9da070c )
ROM_LOAD32_WORD( "271-p2.bin", 0x000002, 0x400000, 0xda3118c4 )
ROM_LOAD16_WORD_SWAP( "271-p3.bin", 0x800000, 0x100000, 0x5cefd0d2 )


DRIVER_INIT( kof2003 )
{
data8_t *rom = memory_region(REGION_CPU1);
int i,j,rom_size = 0x800000;
int swap_step = 1;

for(i = 0; i < rom_size; i = swap_step<<1)
{
for(j = 0; j < swap_step; j )
{
unsigned char buf = rom[i j];
rom[i j] = rom[i j swap_step];
rom[i j swap_step] = buf;
}
}

{
/*とりあえず先頭から0x100000分だけ*/

data8_t *buf = malloc(0x100000);
#if 1
i=0;
#else
for(i=0; i<rom_size; i =0x100000)
#endif
{
for(j=0; j<16; j )
{
memcpy(&buf[(((j<<2)|(j>>2))&0xf)<<16],&rom[i (j<<16)],0x10000);
}
memcpy(&rom[i],buf,0x100000);
}
free(buf);
}

{
int i;
int rom_size = memory_region_length(REGION_GFX3);
int tx_size = memory_region_length(REGION_GFX1);
UINT8 *src = memory_region(REGION_GFX3) rom_size - tx_size;
UINT8 *dst = memory_region(REGION_GFX1);

for (i = 0; i < tx_size; i )
dst[i] = src[(i & ~0x1f) ((i & 7) << 2) ((~i & 8) >> 2) ((i & 0x10) >> 4)];
}

neogeo_fix_bank_type = 2;
init_neogeo();
}

451名無しさん:2004/05/19(水) 02:28
fbaのハックか何かで正規版対応したみたいだけどどこかにソース無いかな?

452名無しさん:2004/05/19(水) 10:55
>なおKawaks Nebula FBAについてはノータッチの方針に致します
>つか、MAME専門サイトです。

453名無しさん:2004/05/19(水) 17:45
いや、そのソースを流用できないかと思ったんだがナー

454名無しさん:2004/05/24(月) 16:55
http://www.usenet-replayer.com/cgi/content/framebanner_3?http://www.usenet-replayer.com/3/5/4/0/1085180453.1.gif

455名無しさん:2004/07/14(水) 20:03
512kのs1[CRC:4FB43DDF]を使えば体力ゲージが点滅するね。
neogeo_fix_bank_type = 2;で逝けた。

456名無しさん:2004/12/14(火) 04:57
すみません185emeで2003を遊びたいのですが
持っていた二種類の2003のROMの中味を組み合わせて
読み込むまでにはなったのですがゲームが始まった瞬間に
エラーが出て185emeが落ちてしまうのです・・・
原因などはわかりますでしょうか?それともしよろしかったら
185emeで動く2003のromのCRCを教えて頂けないでしょうか?

457名無しさん:2004/12/14(火) 23:39
まずは監査してみよう


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板