見出し画像

プライムゲーミング分用KOF2003のHBMAME用差分の一部(PROM暗号化完全完了したのでこの記事は参考記事になりました)(2024/03/24更新)

2024/03/24追記
陳俞佑さんが再アップロードしてくれたのでリンクを変更しておきます
ありがとうございます!
ミラーリング分も念の為残しておきます

kof2003(MVS)分PROM暗号化ツール

2024/03/18追記 2024/03/24変更
再アップロードしていただけたので現在ダウンロードできますが
念の為ミラーリング分も残しておきます
(全く同じものなのでPrime Gaming分は入っておりません)
Prime Gaming分はこちらの記事にあります

2024/03/04追記
陳俞佑さんがコメントして頂いた
kof2003(MVS)セットPROM暗号用コードを
参考にkof2003h(AES)セットもPROM暗号化できるようになったので
公式MAMEや公式FBneoで対応してるセット作成できるようになりました
そんなわけでこの記事はPROM復号分セットの参考記事となりました
自分の作ったプライムゲーミング分セットは
自前でPROMのみ暗号化できなかったため
PROM復号分で動作するドライバー自分で書いてました
陳俞佑さん、ありがとうございました!

PROM暗号化したい方は予習からお願いします

今更ですがプライムゲーミング版やアケアカ等で普通にプレイできるのに
なぜこんなことをやっているのかの解説

真ボスはムカイ(無界)なのですがムカイ(無界)と戦うには
途中で乱入してくるKUSANAGI超必殺技で倒さなければなりません
すべてのチームのエンディングを見たい場合はレベル1に設定しても
普通のプレイヤーではかなり難しい条件と思われます
そこで邪道ですがラズさんによるUNIBIOSを使って
UNIBIOSに内蔵されているチートを使い
その条件を緩和させようかと思い立ったのが始まりです
(というのは建前で本音は未だにPROMのみ暗号化できないため)

このページのHBMAME差分コードで使用するROMセットは
予めこちらを参考にして作成しておいてくだしあ

kof2003.cpp追加分
2023/11/29追記
MVS版に合わせるため都合上ファイル名変更しましたスマセン
2023/11/30追記の追記(2024/02/21)
FBneoの海賊版での動作を知りたかったので
CROM暗号化のテストしてましたがCRCは合ったので
CROM暗号化セットも追加してCROM復号版と暗号化版両方対応させました
公式FBneoの海賊版で無理やり使えるセットとは
完全に別になりました
もしかしてセット名も変更するかもしれないのでスンマセン
PROMの暗号化ができれば正規MAME分になるのでそれで完全完了です
PROM暗号化できたので正規MAME分になりました
やっと完全完了致しました

※重要※

2024/03/04追記
PROM暗号化できたのでこの記事は参考用となりました

2024/02/21追記
結局PROM暗号化できませんでしたが自家ビルド分
FBneoでも問題なく動作するようになったので
ソースも変更します
ロムセットも変更しました
ゲーム名等についてはHBMAMEに合わせてますが
最終的にはFBneoと同じに合わせるかもしれません
HBMAMEのUIだと文字がほぼ見切れるのであえて短くしてます
HBMAMEのセットもCROM暗号化分にできたのですが
CROM暗号化できない人がいそうなので復号版も残しておきます
CROM復号分用コード(kf2k3hdfセット分)

//void neogeo_state::init_kof2k3hd()を参考に

//以下作成(MVS版もこちらを使用)
void neogeo_state::init_kof2k3df()
{
init_neogeo();
m_sprgen->m_fixed_layer_bank_type = 2;
//PROM復号部分を無効にするだけ
//m_pvc_prot->kof2003h_decrypt_68k(cpuregion, cpuregion_size);  // different to kof2k3d
m_pvc_prot->install_pvc_protection(m_maincpu, m_banked_cart);
m_cmc_prot->neogeo_cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region, audio_region_size);
m_pcm2_prot->neo_pcm2_swap(ym_region, ym_region_size, 5);
m_cmc_prot->neogeo_sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
}

ROM_START( kf2k3hdf ) // Fully decrypted version of kof2003h
ROM_REGION( 0x800000, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "271-p1hd.p1", 0x000000, 0x400000, CRC(3eb63d66) SHA1(cf97c598e47a54782b9a9095c9907d05613cc19c) )
ROM_LOAD16_WORD_SWAP( "271-p2d.p2",  0x400000, 0x400000, CRC(61cf0139) SHA1(af62ec0aa60ee8c7dbc04658066105add23e4274) )

NEO_SFIX_MT_512K

NEO_BIOS_AUDIO_ENCRYPTED_512K( "271-m1k.m1", CRC(48d9affe) SHA1(68f01560b91bbada39001ce01bdeeed5c9bb29f2) )

ROM_REGION( 0x1000000, "ymsnd:adpcma", 0 )
ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) )
ROM_LOAD( "271-v1c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) )

ROM_REGION( 0x4000000, "sprites", 0 ) // Decrypted C not Merge SROM
ROM_LOAD16_BYTE( "271-c1d.c1", 0x0000000, 0x800000, CRC(e42fc226) SHA1(1cd9364993e141facdcdd53ec2277df7b275d8a7) )
ROM_LOAD16_BYTE( "271-c2d.c2", 0x0000001, 0x800000, CRC(1b5e3b58) SHA1(0eb254477a9479541291e43e415310852a0f0bed) )
ROM_LOAD16_BYTE( "271-c3d.c3", 0x1000000, 0x800000, CRC(d334fdd9) SHA1(1efe30b4f56a55e25ab518cf6999de797b5e407c) )
ROM_LOAD16_BYTE( "271-c4d.c4", 0x1000001, 0x800000, CRC(0d457699) SHA1(ec73d0c9fc7094d0ac6c0986a6e07cde25893e57) )
ROM_LOAD16_BYTE( "271-c5d.c5", 0x2000000, 0x800000, CRC(8a91aae4) SHA1(802f4baacf801646be1ef686e105b2e867a6a5df) )
ROM_LOAD16_BYTE( "271-c6d.c6", 0x2000001, 0x800000, CRC(9f8674b8) SHA1(65964f40b2227d020023fb436579927e65807dcd) )
ROM_LOAD16_BYTE( "271-c7hd.c7", 0x3000000, 0x800000, CRC(efe714f8) SHA1(c239744cf372f6f7b2cd1b539a59f792038fe179) )
ROM_LOAD16_BYTE( "271-c8hd.c8", 0x3000001, 0x800000, CRC(c015cdb7) SHA1(baa1bf179f13e07bd93d33bf40b37deaf65d0b0c) )
ROM_END

GAME( 2003, kf2k3hdf,   kof2003,  neogeo_noslot, neogeo, neogeo_state, init_kof2k3df,  ROT0, "SNK Playmore", "Kof2003 (NGH-271)(Decrypted P&C Prime Gaming Version)", MACHINE_SUPPORTS_SAVE )

kf2k3hdfセット(CROM復号分)ではなく
kf2k3hdpセット(FBneo自家ビルド分と同じCROM暗号化分セット)のコードは
こちら(これもkof2003.cppに追記でおk)です

//以下作成(MVS版もこちらを使用)
void neogeo_state::init_kof2003d()
{
	init_neogeo();
//	PROM復号部分を無効にするだけ
//	m_pvc_prot->kof2003h_decrypt_68k(cpuregion, cpuregion_size);
	m_pcm2_prot->neo_pcm2_swap(ym_region, ym_region_size, 5);
	m_sprgen->m_fixed_layer_bank_type = 2;
	m_cmc_prot->neogeo_cmc50_m1_decrypt(audiocrypt_region, audiocrypt_region_size, audiocpu_region,audio_region_size);
	m_cmc_prot->cmc50_neogeo_gfx_decrypt(spr_region, spr_region_size, KOF2003_GFX_KEY);
	m_cmc_prot->neogeo_sfix_decrypt(spr_region, spr_region_size, fix_region, fix_region_size);
	m_pvc_prot->install_pvc_protection(m_maincpu,m_banked_cart);
}

ROM_START( kf2k3hdp ) // Decrypted P version of kof2003h
	ROM_REGION( 0x800000, "maincpu", 0 )
	ROM_LOAD16_WORD_SWAP( "271-p1hd.p1", 0x000000, 0x400000, CRC(3eb63d66) SHA1(cf97c598e47a54782b9a9095c9907d05613cc19c) )
	ROM_LOAD16_WORD_SWAP( "271-p2d.p2",  0x400000, 0x400000, CRC(61cf0139) SHA1(af62ec0aa60ee8c7dbc04658066105add23e4274) )

	NEO_SFIX_MT_512K

	NEO_BIOS_AUDIO_ENCRYPTED_512K( "271-m1k.m1", CRC(48d9affe) SHA1(68f01560b91bbada39001ce01bdeeed5c9bb29f2) )

	ROM_REGION( 0x1000000, "ymsnd:adpcma", 0 )
	ROM_LOAD( "271-v1c.v1", 0x000000, 0x800000, CRC(ffa3f8c7) SHA1(7cf4a933973ca23b7f87c81151d8659e6ec4bd20) )
	ROM_LOAD( "271-v1c.v2", 0x800000, 0x800000, CRC(5382c7d1) SHA1(1bf999705eda80ba1e7b0d6bdd010d9bfb18bd76) )

	ROM_REGION( 0x4000000, "sprites", 0 )
	ROM_LOAD16_BYTE( "271-c1k.c1", 0x0000000, 0x800000, CRC(efb9dd24) SHA1(1c6fe10fdbfc3306c3b7321c731f28ffdbfb15b8) )
	ROM_LOAD16_BYTE( "271-c2k.c2", 0x0000001, 0x800000, CRC(3fb90447) SHA1(04d196de7c54c77bc75eba56d3060d46efc2d406) )
	ROM_LOAD16_BYTE( "271-c3k.c3", 0x1000000, 0x800000, CRC(27950f28) SHA1(924f4de61c86b9efde6f1104b986886f1117055d) )
	ROM_LOAD16_BYTE( "271-c4k.c4", 0x1000001, 0x800000, CRC(735177f8) SHA1(c95da1bc256995a7f44c9cc3312879ab6cbc15d6) )
	ROM_LOAD16_BYTE( "271-c5k.c5", 0x2000000, 0x800000, CRC(a51b7c0f) SHA1(53dcf692b35b8d32abe5962ac799b8d641f04710) )
	ROM_LOAD16_BYTE( "271-c6k.c6", 0x2000001, 0x800000, CRC(d5cae4e0) SHA1(248cd9eaac7a04d6b5d80c7534de90b057d566d7) )
	ROM_LOAD16_BYTE( "271-c7k.c7", 0x3000000, 0x800000, CRC(e65ae2d0) SHA1(39744e10697d7ac539ecfcfa597e75597f321955) )
	ROM_LOAD16_BYTE( "271-c8k.c8", 0x3000001, 0x800000, CRC(312f528c) SHA1(b4ad75f54f730ada6cb00112b74022250f055725) )
ROM_END

GAME( 2003, kf2k3hdp,   kof2003,  neogeo_noslot, neogeo, neogeo_state, init_kof2003d,  ROT0, "SNK Playmore", "Kof2003 (NGH-2710)(Decrypted P Prime Gaming Version)", MACHINE_SUPPORTS_SAVE )

neogeo.h追加分(MVS版にも使うのでこちらで定義)

//CROM復号分セット用
void init_kof2k3df();
//CROM暗号化分セット用
void init_kof2003d();

HBMAME用ほぼ最終のCROM復号分セット
(PROMは相変わらず復号分です)
とりあえず入れているS1ファイルは
128KBのS1ではなく512KBのものに変更してます
(FBneo自家ビルド分で使用します)
どちらにせよプライムゲーミング分所持していたら
今後変更があっても全く問題ありません

Listing of archive : kf2k3hdf.zip

Original   Packed     Ratio  Date       Time     Attr  Method   CRC-32   Name
---------- ---------- ------ ---------- -------- ----- -------- -------- --------------  
   8388608    3512289  41.8% 2024/02/19 15:19:58 ---W  Deflate  e42fc226 271-c1d.c1
   8388608    2391618  28.5% 2024/02/19 15:19:58 ---W  Deflate  1b5e3b58 271-c2d.c2
   8388608    4041968  48.1% 2024/02/19 15:19:58 ---W  Deflate  d334fdd9 271-c3d.c3
   8388608    2802457  33.4% 2024/02/19 15:19:58 ---W  Deflate  0d457699 271-c4d.c4
   8388608    3881963  46.2% 2024/02/19 15:19:58 ---W  Deflate  8a91aae4 271-c5d.c5
   8388608    2456121  29.2% 2024/02/19 15:19:58 ---W  Deflate  9f8674b8 271-c6d.c6
   8388608    3473104  41.4% 2024/02/19 15:19:58 ---W  Deflate  efe714f8 271-c7hd.c7
   8388608    2264745  26.9% 2024/02/19 15:19:58 ---W  Deflate  c015cdb7 271-c8hd.c8
    524288     433440  82.6% 2024/02/19 15:19:54 ---W  Deflate  48d9affe 271-m1k.m1
   4194304    1109765  26.4% 2024/02/19 15:19:42 ---W  Deflate  3eb63d66 271-p1d.p1
   4194304     647294  15.4% 2024/02/19 15:19:42 ---W  Deflate  61cf0139 271-p2hd.p2
    524288      59226  11.2% 2022/12/29 20:38:58 ---W  Deflate  1d4ecb1e 271-s1hd.s1
   8388608    7848495  93.5% 2024/02/19 15:19:42 ---W  Deflate  ffa3f8c7 271-v1c.v1
   8388608    7743487  92.3% 2024/02/19 15:19:42 ---W  Deflate  5382c7d1 271-v2c.v2
---------- ---------- ------ ---------- -------- ----- -------- -------- --------------  
  93323264   42665972  45.7%   14 files

HBMAMECROM暗号化及び
自家ビルド分FBneo用CROMセットsooner ROMset
CROM暗号化分です それ以外の変更はありません
CROM以外のファイルはkf2k3hdfセットのものを使用します
セット名はkf2k3hdpです
(HBMAMEではSROM使用しませんが都合上必ず入れておいてください)
こっちだと圧縮がほとんどかからずファイルサイズが大きくなるので注意

Listing of archive : kf2k3hdp.zip

Original   Packed     Ratio  Date       Time     Attr  Method   CRC-32   Name
---------- ---------- ------ ---------- -------- ----- -------- -------- --------------  
   8388608    8052949  95.9% 2023/11/30 17:17:12 ---W  Deflate  efb9dd24 271-c1k.c1
   8388608    8049480  95.9% 2023/11/30 17:17:12 ---W  Deflate  3fb90447 271-c2k.c2
   8388608    8051870  95.9% 2023/11/30 17:17:12 ---W  Deflate  27950f28 271-c3k.c3
   8388608    8049063  95.9% 2023/11/30 17:17:12 ---W  Deflate  735177f8 271-c4k.c4
   8388608    8051804  95.9% 2023/11/30 17:17:12 ---W  Deflate  a51b7c0f 271-c5k.c5
   8388608    8048421  95.9% 2023/11/30 17:17:12 ---W  Deflate  d5cae4e0 271-c6k.c6
   8388608    8053146  96.0% 2023/11/30 17:17:12 ---W  Deflate  e65ae2d0 271-c7k.c7
   8388608    8048946  95.9% 2023/11/30 17:17:12 ---W  Deflate  312f528c 271-c8k.c8
---------- ---------- ------ ---------- -------- ----- -------- -------- --------------  
  67108864   64405679  95.9%    8 files

hbmame.lstの@source:kof2003.cpp以下に追加

@source:kof2003.cpp
//CROM復号分
kf2k3hdf
//CROM暗号化分
kf2k3hdp

これだけの変更でビルド成功しましたが大多数の方が多分この画面になると思います

NEOGEOBIOSが足りない問題

これに関してはコマンドラインで直接HBMAME kf2k3hdfと入力すれば起動すると思います?(多分)

似たようなBIOSでごまかすなら
neogeo.hを以下のように上書き変更(UNIBIOSは足りない分はダウンロードしておいてください)
そんなに考えないでごまかしてるので自分で適切に変更したほうがいいと思います

 #define  NEOGEO_BIOS \
	ROM_REGION16_BE( 0x80000, "mainbios", 0 ) \
	ROMX_LOAD( "sp-s2.sp1", 0x00000, 0x020000, CRC(9036d879) SHA1(4f5ed7105b7128794654ce82b51723e16e389543), ROM_GROUPWORD | ROM_REVERSE ) \
	ROM_SYSTEM_BIOS( 0, "euro", "Europe MVS (Ver. 2)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 0, "sp-s2.sp1",         0x00000, 0x020000, CRC(9036d879) SHA1(4f5ed7105b7128794654ce82b51723e16e389543) ) /* 5 Dark Blue - Europe, 1 Slot, has also been found on 2 Slot and 4 Slot (the old hacks were designed for this one) */ \
	ROM_SYSTEM_BIOS( 1, "euro-s1", "Europe MVS (Ver. 1)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 1, "sp-s.sp1",          0x00000, 0x020000, CRC(c7f2fa45) SHA1(09576ff20b4d6b365e78e6a5698ea450262697cd) ) /* 3 Dark Blue - Europe, 4 Slot */ \
	ROM_SYSTEM_BIOS( 2, "asia-mv1c", "Asia NEO-MVH MV1C" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 2, "sp-45.sp1",         0x00000, 0x080000, CRC(03cc9f6a) SHA1(cdf1f49e3ff2bac528c21ed28449cf35b7957dc1) ) /* 6 Dark Blue - Latest Asia bios (MV1C - mask ROM) */ \
	ROM_SYSTEM_BIOS( 3, "asia-mv1b", "Asia MV1B" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 3, "sp-s3.sp1",         0x00000, 0x020000, CRC(91b64be3) SHA1(720a3e20d26818632aedf2c2fd16c54f213543e1) ) /* 6 Dark Blue - Asia (MV1B) */ \
	\
	ROM_SYSTEM_BIOS( 4, "us", "US MVS (Ver. 2?)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 4, "sp-u2.sp1",         0x00000, 0x020000, CRC(e72943de) SHA1(5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb) ) /* 5 Cyan - US, 2 Slot */ \
	ROM_SYSTEM_BIOS( 5, "us-e", "US MVS (Ver. 1)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 5, "sp-e.sp1",          0x00000, 0x020000, CRC(2723a5b5) SHA1(5dbff7531cf04886cde3ef022fb5ca687573dcb8) ) /* 5 Yellow - US, 6 Slot (V5?) */ \
	ROM_SYSTEM_BIOS( 6, "us-v2", "US MVS (4 slot, Ver 2)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 6, "sp1-u2",            0x00000, 0x020000, CRC(e72943de) SHA1(5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb) ) /* 3 Cyan - US, 4 slot - also seen with "v2" label*/ \
	ROM_SYSTEM_BIOS( 7, "us-u4", "US MVS (U4)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 7, "sp1-u4.bin",        0x00000, 0x020000, CRC(e72943de) SHA1(5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb) ) /* 3 Green - 4 Slot (MV-4F) */ \
	ROM_SYSTEM_BIOS( 8, "us-u3", "US MVS (U3)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 8, "sp1-u3.bin",        0x00000, 0x020000, CRC(e72943de) SHA1(5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb) ) /* 2 Green - 6 Slot */ \
	\
	ROM_SYSTEM_BIOS( 9, "japan", "Japan MVS (Ver. 3)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 9, "vs-bios.rom",       0x00000, 0x020000, CRC(f0e8f27d) SHA1(ecf01eda815909f1facec62abf3594eaa8d11075) ) /* 6 Red - Japan, Ver 6 VS Bios */ \
	ROM_SYSTEM_BIOS( 10, "japan-s2", "Japan MVS (Ver. 2)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 10, "sp-j2.sp1",        0x00000, 0x020000, CRC(acede59c) SHA1(b6f97acd282fd7e94d9426078a90f059b5e9dd91) ) /* 5 Red - Japan, Older */ \
	ROM_SYSTEM_BIOS( 11, "japan-s1", "Japan MVS (Ver. 1)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 11, "sp1.jipan.1024",   0x00000, 0x020000, CRC(9fb0abe4) SHA1(18a987ce2229df79a8cf6a84f968f0e42ce4e59d) ) /* 3 Red - Japan, Older */ \
	ROM_SYSTEM_BIOS( 12, "japan-mv1b", "Japan MV1B" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 12, "japan-j3.bin",     0x00000, 0x020000, CRC(dff6d41f) SHA1(e92910e20092577a4523a6b39d578a71d4de7085) ) /* 6 Red - Latest Japan bios (MV1B) */ \
	ROM_SYSTEM_BIOS( 13, "japan-j3a", "Japan MVS (J3, alt)" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 13, "sp1-j3.bin",       0x00000, 0x020000, CRC(dff6d41f) SHA1(e92910e20092577a4523a6b39d578a71d4de7085) ) /* 2 Red - 6 Slot */ \
	ROM_SYSTEM_BIOS( 14, "japan-mv1c", "Japan NEO-MVH MV1C" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 14, "sp-j3.sp1",        0x00000, 0x080000, CRC(03cc9f6a) SHA1(cdf1f49e3ff2bac528c21ed28449cf35b7957dc1) ) /* 6 Red - Latest Japan bios (MV1C - mask ROM) */ \
	\
	ROM_SYSTEM_BIOS( 15, "japan-hotel", "Custom Japanese Hotel" ) \
	ROM_LOAD16_WORD_SWAP_BIOS( 15, "sp-1v1_3db8c.bin", 0x00000, 0x020000, CRC(162f0ebe) SHA1(fe1c6dd3dfcf97d960065b1bb46c1e11cb7bf271) ) /* 6 Red - 'rare MVS found in japanese hotels' shows v1.3 in test mode */ \
	\
	NEOGEO_UNIBIOS(16) \
	NEOGEO_UNIBIOS_1_2_AND_OLDER(16) \
	ROM_DEFAULT_BIOS("unibios40")

起動確認です

問題なく起動しました

暫定版とりあえず終わり

ビルド環境作成は公式MAMEのこちらを見れば分かるかと

HBMAME公式はこちらです

自分はGCC10.1ではないので念のためこちらでビルドしてます
それでも不安定です

make TARGET=hbmame SYMBOLS=0 NO_SYMBOLS=1 DEPRECATED=0

デバッグモードも大丈夫っぽいです

CPU VS CPUなくなってたけどコレはイイネ

今更なんですが…
なにかしらやっぱりオリジナルドライバ側に2つ復号化分ありますね…
PCB,MVS,AESどれか分からないのですが…
しかもFixedってなんなんだ…
これはまた今度…

一つは例のkof2003dでした
ややこしい、やっぱりいらん子や…
Fixedというのは多分それを元にした
ゲージ半透明モドキにならないやつなのでスルーしてよさそうですね
多分両方ともPCBハック版です(いらん)

元々ある復号化分セットはやはりPCB版ハックなのでいりませんでした
現状のセットは別のエミュで動かす兼ね合いとかのためPROMのバイナリいじってます
いじらないほうがいいんだろうけど仕方なくです


この記事が気に入ったらサポートをしてみませんか?