![見出し画像](https://assets.st-note.com/production/uploads/images/146970039/rectangle_large_type_2_42ffe62d8aca752f3200064863cbd3fd.png?width=1200)
FBneoでマイクを使うファミコンゲームでNES設定になってるからマイクが設定できない件(FDS除く)
個人的にFBneoに対して怒っておったのはハックを
親ROMにしてたからとかでちょうどアサクリシャドウズの話で
炎上してたときで余計色々考えてましたん
こう日本発のものを勝手に変えられて広まるの嫌やん?
英語ハックがオリジナルみたいな基準にされて海外で作られたゲームが
後で日本語にローカライズされたんだぞみたいな歴史にされたくない
一騎当千方式シューティングゲームみたいな謎ジャンルも
日本人はそんなン知らんし、未だに納得いってないし
既に広まってしまってるからもうダメな気がするけど
なんかビデオゲーム機第何世代とかも勝手に
海外の研究家のが基準になってしまったし
アワアワ
まぁそれはそれとしてFBneoのd_nes.cpp見てたらなんか色々すごかった
(技術的なとこですよ、奥さん)
ウガウガ
基本的にファミコンタイトルもNES扱いになっているので
そのままではスターソルジャーやバンゲリングベイや
アトランチスの謎や仮面ライダー倶楽部やドラえもんや
たけしの挑戦状(これはソフト的にボタンで代用可)などで
マイクが使えない!!だめじゃん!!と思っていたが
実はFDSではマイク実装してるのよ
というか色んなデバイス実装してるんよ
優秀でしたわ
で
じゃあマイク対応のゲームのみデバイス入力とかを
FDSにしたらファミコンになるんじゃね?と
思いました
d_nes.cpp見ましょう
ゼルダの伝説(ディスクシステム版、自分が追加したやつ)
く、クローンじゃないしッ!!・・・(´・ω・`)ジブンデシテルデ
後、FDSはヘッダ付きとヘッダ無しが混在しておるんですがソレハ(´・ω・`)
FDSはポルスボイス対応済みです(イッツマイク)
(ニューファミコンでFDSゼルダをクリアしたんですけどNe)
// Zelda no Densetsu - The Hyrule Fantasy (Japan)
static struct BurnRomInfo fds_zeldanodenjRomDesc[] = {
{ "Zelda no Densetsu - The Hyrule Fantasy (Japan).fds", 131000, 0x9e8ba7dc, BRF_ESS | BRF_PRG },
};
STDROMPICKEXT(fds_zeldanodenj, fds_zeldanodenj, fds_fdsbios)
STD_ROM_FN(fds_zeldanodenj)
struct BurnDriver BurnDrvfds_zeldanodenj = {
"fds_zeldanodenj", "fds_zeldanoden", "fds_fdsbios", NULL, "1986",
"Zelda no Densetsu - The Hyrule Fantasy (Japan)\0", NULL, "Nintendo", "Miscellaneous",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_FDS, GBF_ACTION | GBF_ADV, 0,
NESGetZipName, fds_zeldanodenjRomInfo, fds_zeldanodenjRomName, NULL, NULL, NULL, NULL, NESFDSInputInfo, NESFDSDIPInfo,
NESInit, NESExit, NESFrame, NESDraw, NESScan, &NESRecalc, 0x40,
SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT
};
アトランチスの謎(ゾーンセレクトハック)これも自分が追加したやつ
// Atlantis no Nazo (Hack, Zone Select)
// Shigeru's ips 2016
// Download
// https://note.com/api/v2/attachments/download/2f8d207b8dc640f39db49a88fe929b54
static struct BurnRomInfo nes_atlantisnonazojzRomDesc[] = {
{ "Atlantis no Nazo (Zone Select).nes", 49168, 0xaf9dc5f7, BRF_ESS | BRF_PRG },
};
STD_ROM_PICK(nes_atlantisnonazojz)
STD_ROM_FN(nes_atlantisnonazojz)
struct BurnDriver BurnDrvnes_atlantisnonazojz = {
"nes_atlantisnonazojz", "nes_atlantisnonazo", NULL, NULL, "2016",
"Atlantis no Nazo (Hack, Zone Select)\0", NULL, "Shigeru", "Miscellaneous",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK, 1, HARDWARE_NES, GBF_PLATFORM, 0,
NESGetZipName, nes_atlantisnonazojzRomInfo, nes_atlantisnonazojzRomName, NULL, NULL, NULL, NULL, NESInputInfo, NESDIPInfo,
NESInit, NESExit, NESFrame, NESDraw, NESScan, &NESRecalc, 0x40,
SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT
};
うーむ
もしかしたら
NESInputInfo, NESDIPInfo,
を
NESFDSInputInfo, NESFDSDIPInfo,
にするだけでいいんじゃね?って思いました
ディスクシステムなので強制的にファミコンになるはずですね
建築
できました
// MIC "blow" hack (read on 1p controller address, yet, mic is on 2p controller!)
if (NESMode & IS_FDS && port == 0) {
if (DrvInputs[1] & ((1<<2) | (1<<3))) { // check if 2p select or start pressed. note: famicom 2p controller doesn't have start or select, we use it as a MIC button.
ret |= 4;
}
}
すんません!
アトランチスの謎ハックではFBneoのドライバで設定されてる
2pセレクトとかぶるのでダメでした!(2pセレクト優先されます)
別のゲームでヨロシコ
ちなみにFDS設定にすると2pのスタート、セレクト入力の設定は
なくなります
(Nestopia等ではそんな事になりません、ややこしい)
となるとちっさいハミコンのアトランチスの謎のマイクは
やっぱり2コンの別ボタンに割り当てられてるのかな?
ゾーンセレクトなしだと確認がダルい
たけしの挑戦状ガガガガガ(公式のママ)
// Takeshi no Chousenjou (Japan)
static struct BurnRomInfo nes_takesschajRomDesc[] = {
{ "Takeshi's Challenge (Japan).nes", 131088, 0xe810b35c, BRF_ESS | BRF_PRG },
};
STD_ROM_PICK(nes_takesschaj)
STD_ROM_FN(nes_takesschaj)
struct BurnDriver BurnDrvnes_takesschaj = {
"nes_takesschaj", "nes_takesscha", NULL, NULL, "1986",
"Takeshi no Chousenjou (Japan)\0", NULL, "Taito", "Miscellaneous",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_NES, GBF_ADV, 0,
NESGetZipName, nes_takesschajRomInfo, nes_takesschajRomName, NULL, NULL, NULL, NULL, NESFDSInputInfo, NESFDIPInfo,
NESInit, NESExit, NESFrame, NESDraw, NESScan, &NESRecalc, 0x40,
SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT
};
// Takeshi's Challenge (Hack, English)
static struct BurnRomInfo nes_takesschaRomDesc[] = {
{ "Takeshi's Challenge (T-Eng).nes", 262160, 0x18c9b8ad, BRF_ESS | BRF_PRG },
};
STD_ROM_PICK(nes_takesscha)
STD_ROM_FN(nes_takesscha)
struct BurnDriver BurnDrvnes_takesscha = {
"nes_takesscha", NULL, NULL, NULL, "2011",
"Takeshi's Challenge (Hack, English)\0", NULL, "KingMike", "Miscellaneous",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_HACK, 1, HARDWARE_NES, GBF_ADV, 0,
NESGetZipName, nes_takesschaRomInfo, nes_takesschaRomName, NULL, NULL, NULL, NULL, NESInputInfo, NESDIPInfo,
NESInit, NESExit, NESFrame, NESDraw, NESScan, &NESRecalc, 0x40,
SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT
};
こーゆーのですぞぉぉぉーーゴゴゴゴゴゴゴォーーーーー(再燃
たけしズチャレンジてなんや・・・
やはりジャパニーズはクローンにされてる・・・
NeCoビルドでは修正しておこう・・・これってでぃんくさんの意思なのかがぶさんの意思なのかどっち?がぶさんが最高テスト責任者兼品質保証部門の責任者でした…
それによってFBneoチーム感じ悪い選手権の順位が変わってきますぞぉ(
(最初ネタと思ってたのですがホントっぽいです)
やっぱり無茶苦茶やないか…
品質も保証もあるかぁァァァーー( ‘д‘⊂彡☆))Д´) スパパーン ドゴォォォ
建築
やはり他のエミュレータと同じくマイクをボタンに
割り当てでは反応しない
マイクの入力が逆になってる等の現象が起こってるとかの情報も
聞いたことはあったり入力がオンになってる時間の問題等なのか
他のエミュレータでもマイクだと基本的にもしもししてくれません
2コンの下とAでよろしこ(一回やればAボタンのみです)
![](https://assets.st-note.com/img/1720711327695-ETQFDnh4CF.png)
ということで
バンゲリングベイかスターソルジャーか・・・
また今度だ・・・
ちなみに自分はわざわざ建築してますが
多分*.datを書き出してMAMEのように自分で追加すれば
ゲームの追加できるはずです(試してないのでわかんない)
マイクを使うファミコンゲームならFDSの*.dat書き出して
追記すればいいと思いましたがもしかしてFDSBIOSが
先に起動してしまうので無理かもしれません
あとエミュ界でもNESイメージにヘッダつけるのいい加減やめない?
との話も出ているのですがそれだと
エミュレータ側(または専用データベース)も必要だしどうなんでしょうね
しつこく任天堂がインターネットのROMイメージを使っている!!
という変な輩もいるんですけど(めっちゃどうでもいい)
余計な設定なしで自分で後でヘッダつけても同一のCRCのものになります
ヘッダに謎のコンバートの文字列が残ってるやつとかはシラン
QDファイルに文句つけることはできない
海外で合法的にFDSのゲームを遊ぼうとしているの人の話も
聞いてあげると楽しいです
完
この記事が気に入ったらサポートをしてみませんか?