57res
■ニュース全般なら
■VIP・その他ネタ系なら
■なんJ・野球なら
■リアルタイムトレンドなら
2012-01-14 00:50:24 ~ 2013-03-29 20:51:47
PC-9821/9801スレッド Part60
2013-09-25 17:11:17
X1/turbo/Z 総合スレ16
2013-09-23 03:21:22
PC-8801mkII SR,FR,MR Part12
2013-09-16 01:05:58
ポスト・ホリエモン灘高首席tehu、慶應SFC入学。
2013-09-10 18:44:00
1970年代のパソコンを語ろう
2013-09-03 12:50:09
【社会】嫌韓デモ参加者の首を絞め暴行・脅迫…ヘイトスピーチ反対を主張するグループの男2人を逮捕★8
ニュース速報+
2013-09-30 14:54:32
【映画】片岡愛之助 水野晴郎『シベリア超特急』最新作出演計画浮上 (NEWSポストセブン)[13/09/30]
芸スポ速報+
2013-09-30 14:53:17
【京都】米軍が配備しようとしてるXバンドレーダーは膨大な燃料と冷却水を消費することが判明 環境汚染の恐れ
2013-09-30 14:50:56
アメリカ人「日本人は足の引っ張り合いを絆だと思っている」
ニュース速報
2013-09-30 14:45:56
【社会】「イトマン事件」許永中受刑者が母国韓国の刑務所を仮出所
2013-09-30 14:45:49
基本、開発・人柱・新バージョンの報告や話題等で進行をお願いします
たまには上記の延長線上での脱線も可
※家庭用ゲーム機器は板違いです。(ぴゅう太はOK)
※ジェネレーターや其れに準ずる質問等はスレが荒れる原因になるので華麗にスルーして下さい
※上記の事柄に反応した場合その人も同じ池沼扱いされますので決して反応してはなりません
※このスレは如何にスルーできるか問われるスレですので肝に銘じておいて下さい
※禿しく空気読め
前スレ:PCエミュレーター統合スレッド Part5
http://ikura.2ch.net/test/read.cgi/i4004/1326469824/
http://www.nicovideo.jp/watch/sm20456675
rpiフィルタを使えるdll添付
XM7Dash翼
ttp://www1.axfc.net/uploader/so/2851095
p:FD0D
乙です。何点か質問。
>明るさはSetFilterで後から調整も可能なのでマウスホイールで調整とか
対応してみたんだけどSetFilter呼ぶだけじゃダメだった。
まぁいろいろやってみる。
>hMainWnd代入タイミング(for w32_cfg.c:RestoreFrameWnd())
タイミングによってhMainWndがNULLの状態でRestoreFrameWnd()が呼ばれるケースが
ありえるってことかな。とりあえずNULL対策だけ入れた。
>TranslateAccelerator()以下のHWNDが無効のハンドルで呼ばれる場合がある
これって以前指摘されたときはdashも一応暫定対策入れてたけど、
本家側でOnDestroy()からはhMainWndをNULLにする処理が外され、
OnQuit()って関数が追加されてループからbreakするタイミングで
hMainWndをNULLにするようになったので
TranslateAccelerator()をNULLで呼ばなくなったと思って
暫定対策は消したんだけど、別のケースかな。
ちょっと気になっている点が…。
WtCalというフリーのデスクトップカレンダーソフトを使ってるんだけど、
このカレンダーソフトでデスクトップにカレンダーを描画した領域の
上に相当する所へDLLで描画すると、稀に書き損じる?ことがある。
ただし普通に描画されている状況で書き損じることはない。
一番簡単に症状を確認するには、
1.WtCalでカレンダーを表示しているところと重なるようにdashを実行
2.dashを最小化→最大化
3.dashのWindowメニューを表示(裏にカレンダーが表示されているところなら
どれでもよい)→メニューを閉じるか隣のWindowメニューに移動
症状:カレンダーソフトのカレンダーと重なる箇所の画像が復帰しない。
※ただしエミュレータ側が常時画面を書き換えていれば大丈夫。
エミュレータ側で同じ画面が継続している状態でテストすると症状が確認しやすい。
ソフトの相性の問題なのか、カレンダーソフト側の問題なのか、
判断がつかなかったので、とりあえず報告。
個人的にはどうもカレンダーソフト側がなにかやってるようにもみえるんだけど、
DLLを使わない場合は発生しない問題なので、対策の手段はあるかもしれないかなと。
まぁ、どうしようもなさげであれば、相性の問題、ってことでFAでもOK。
おまけ。
デスクトップカレンダーはしののん氏のが一番使いやすくて、
WindowsXpの時まで使ってたんだけど、
Windows7にしたら何故か使えなくなっちゃったので、
いろいろ調べて一番似た使い方が出来るWtCalにしたんだ。
すみませんSetFilter修正してみました
無効ハンドルで呼ばれてもFALSE返ってくるだけだから放置でもいいかも
潰していくならウィンドウハンドル使うAPIの前に必ずチェック入れてみたり
書き損じはOnSizeの中とかでドローウィンドウ再描画で対処とかは
フイルタのみ再
ttp://www1.axfc.net/uploader/so/2853414
p:filter
すいませんぜんぜんてすとしてませんでちゅたしね
XM6+XM7dash
ttp://www1.axfc.net/uploader/so/2854427
p:filter
個人が趣味で作ってるものに何「使ってやってる客」ぶってんだよ
うわあ
>SetFilter
処理後描画ウィンドウへWM_PAINT投げとけばOKですた。
>無効ハンドル
dashで追加したロジックにおける箇所は対応しときました。
本家からのロジックは本家に任せようかと…
>書き損じ(というか復帰し損じ)
OnSize()呼んでる訳じゃないので…、とりあえず調査した結果、
メニュー閉じるときWM_UNINITMENUPOPUPメッセージが飛んでくることがわかったんで、
このときに描画ウィンドウを再描画することに。
描画ウィンドウへWM_PAINT投げるのが一番適切なんだけど、
ソレだと一瞬書き損じてるのが見えちゃうんで、仕方なく直接OnPaint。
書き損じはなくなったんだけど、dashを終了したとき「書き損じてたはず」の領域だけ、
デスクトップにdashの描画ウィンドウの跡が残った。
…これはもう、カレンダーソフトとの相性としかいえないなw
>>9
乙です。また見てみるよー
dashでのみ確認。
○stretch.dll
×2xRpi.dll
○2xRpi+.dll
ですた。
2xRpi.dllも、>>6の時は動いてたんだけどな。
あ、2xRpi.dllも2xRpi+.dllも、同じプラグイン使ってる。
まだdash側の内部動作チェックはしてない。
なんかあればまたコメントしとく。
XM6+XM7dash東郷
ttp://www1.axfc.net/uploader/so/2855591
p:filter
乙です。
とりあえずどれも動作中。2xRpi.dllの問題も解決。
ところで復帰し損じ(+終了時の書き残し)の件、
2xRpi.dll, 2xRpi+.dllでは生じなかったので、
どうもstretch.dllだけの問題っぽい。
ま、stretch.dllでもWM_UNINITMENUPOPUPで再描画させとければ
イィんだけど(終了時除く)、とりあえず情報として一応報告。
OnClose()のメインウインドウを一端消した直後でCALLすると消し損じる。
OnDestroy()のINIファイル書き込み後位まで待たないとダメっぽい。
ただここまで待ってCALLすると、明らかに消し残しが目に見えるwので、
ちょっと…ねw
とりあえず、WM_UNINITMENUPOPUPの方も含めてデフォルトでは入れず、
XM7.iniにフラグ入れてONの時のみ処理するようにしとく。
さしあたり、WtCalってカレンダーソフト使ってなければ発生しない症状だしね。
終了時の消し残しは、
XM7dash以外のソフトでも(エミュレータじゃなくても)発生した。
というわけで、あまり気にしない方がいいかもしれない。
一応>>16の対応は入れとくつもり…。
>明るさはSetFilterで後から調整も可能なのでマウスホイールで調整とか
をネタに放り込んだマウスホイールで明るさ調整の件を書かなかったのでこちらへ。
・マウスホイール↑で明るく、↓で暗くなります。
マウスモード切替にホイールを設定していた場合は明るさ調整できません。
これはstrech.dll専用の機能であり汎用性がないので隠し機能ってとこで。
すばらっ
外部音源dllで動かないものはCreateせずにMixが呼ぶのに対応していないから
genpfmで音が変になるのはプリスケーラ変更に対応していないからでした
np2fmなんかも結局対応していないので動いても意味が無いけど
LoadMenuしたらDestroyMenuしたほうが良いかも
外部音源DLLセット
ttp://www1.axfc.net/uploader/so/2865336
p:9801
ttp://takeda-toshiya.seesaa.net/article/354697912.html
乙です。
>genpfmで音が変になるのはプリスケーラ変更に対応していないからでした
なるほどー。そこまではGetCapsでとれませんよねぇ。
>LoadMenuしたらDestroyMenuしたほうが良いかも
DestroyMenu抜けてた…V2/V3はもう更新しないつもりだったけど
バグ放置する気もないので、こっそり差し替えますた(笑
表向き変化無いので、V/L/R番号は変えてません。
ついでに最新の音源DLLセットでgenpfmやnp2fmで落ちなくなってたので、
複数chip可能チェックは最初の1回だけに戻しときました。
まぁ、>>プリスケーラ変更(ryのせいなかはわかりませんが、
どちらにしろ鳴らないのでサポート範囲は
相変わらずfmgen.dllとmamefm(2).dllのみで。
fmgen.dllは内蔵のと同じだけど、昔話題に上ってた
「最新のfmgen」で聞きたい人向けかな。SSGも対応したし。
>複数chip可能チェックは最初の1回だけに戻しときました。
なんか変だな…。
複数chip可能フラグがOFFの時のDLLを使用しない制限を解除しといたので、
標準FM音源カードのパートのみDLLを使用するようになってる、ってことで。
genpfmやnp2fm、np2fm+をテストするのにどうぞ、って感じで。
まぁこっちでやんなくてもソース弄れるでしょうから別にいぃのだろうけどw
DLL作ろうと思ったけどgetcupsとかがない古い仕様しかわからなくて作れん
PSGやリズムの音量設定の機能等も組み込んであります
未だにアバウトな仕様なのですがこれが基本という事で
fmgen wrapperソース
ttp://www1.axfc.net/uploader/so/2866773
p:wrapper
でもfmしか使ってないソフトばっかりでだめだ、レジスタ出力もフィルタされてるし
SSGでよければdashの最新版が対応してるよ。
とりあえず現状わかる範囲で仕様書っぽいの作ってみた。
ttp://tomatoma.s54.xrea.com/pc/fmdll.html
まだindex.shtmlとのリンクとかは張ってない。
fmdll.hからのコピペだし、チェックとかまだ全然だけど、
各DLLの使用可不可○×は各DLLの中身みて確認したからあってるはず。
>>26のfmdll.hはバグってて使いものにならない状態だったようです
とりあえず>>26のfmdll.hをdash用に加工したモノ
ttp://tomatoma.s54.xrea.com/data/fmdll_xm7dash.zip
>>26のバグって、追加されたAPIの一部のAPI存在フラグチェックかな。
リンク先まちがえたw
ttp://tomatoma.s54.xrea.com/xm7/data/fmdll_xm7dash.zip
こっちで~。
実処理側が消してないので、多分そこでコンパイルが通らないんだね。
無効化してある関数ポインタとGetProcAddressの//をとっちゃえば
コンパイル通るよ。
CSMをCMSと間違えたりもしてました
独自に拡張してXM7dashのレベルメータ対応dllなんかも作れます
あまり独自にしすぎるとカオスになりますが
豆FMV
ttp://www1.axfc.net/uploader/so/2868353
p:fmv
ちょw
レベルメータはrbufを直で見てるからどうしようもないだろうな~
と思ってたのに、まさか独自拡張してくるとは…w
またこっそり差し替えとこうかなと思ったけど、
今度はデバッグじゃないのでさすがにアレかなと思ったので、
次回更新分にいれときます。
本家最新版が出る前には公開するつもり…。
でもせっかくなので、とりあえず使いたい方は↓どうぞ。
ttp://tomatoma.s54.xrea.com/xm7/data/xm7dash_130414.zip
バージョン・レベル・リリース番号とか更新日時とかw変えてません。
β版扱いということで。
% 個人的に…普段はmamefm2.dllで鳴らしてるので、
mamefm2+mamefmvのmamefmv2.dllみたいなのあると泣いて喜ぶかも?w
豆FMV(2)
ttp://www1.axfc.net/uploader/so/2868608
p:fmv
マジキタコレw
…ありがと!
今後はデフォこれにするわ~w
ttp://tomatoma.s54.xrea.com/pc/fmdll.html
一応修正しといたけど、このページの扱いをどうするか考察中。。。
XM7dashのrbufに格納されるデータより小さくなります
あとXM7dashは特殊的にレジスタ0xffをタイマーA起動用に使っているので
dll側がCSMに対応していない場合は自前で実行した方がいいかも
pFmDll->SetReg(pOPNA[*], (uint8) reg, (uint8) dat);
の部分を
if (reg == 0xff) {
if (!(pFmDll->GetCaps(pOPNA[*]) & SUPPORT_CSM)) {
pFmDll->SetReg(pOPNA[*], (uint8) 0x28, (uint8) 0x02);
pFmDll->SetReg(pOPNA[*], (uint8) 0x28, (uint8) 0xf2);
}
} else
pFmDll->SetReg(pOPNA[*], (uint8) reg, (uint8) dat);
みたいに
対応してみた。β版その2
ttp://tomatoma.s54.xrea.com/xm7/data/xm7dash_130416beta.zip
ディスプレイの音量補正は擬似的に掛けてみたけど、
音量設定-10未満まで下げるとさすがにダメっぽい。
まぁデフォ設定で使うレベルなら気にならない感覚かなと…。
ただし音源の機能は無い魔法は尻から出る
ttp://spoiler.shiteyattari.com/pStereo.zip
M88だとfmgen以外は一部の音が発生されませんでした
x88x17に内蔵されてるpStereo機能だとfmgen以外でも問題なかったです
外部音源をステレオ化するものなので仕様
pStereo.dllとx88x17内蔵のpStereo機能は同じ仕様ですか?
おまけでpStereo.dllにはLPF機能が付いている
新しい外部音源がアップされてたから機能追加しないといけないな