2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

PCエミュレーター統合スレッド Part7

1 :ナイコンさん:2015/05/05(火) 23:37:28.05 .net
古き良き、1970年代〜90年代のマイコンエミュレーター統合スレッドです。
基本、開発・人柱・新バージョンの報告や話題等で進行をお願いします
たまには上記の延長線上での脱線も可

※家庭用ゲーム機器は板違いです。(ぴゅう太はOK)
※ジェネレーターや其れに準ずる質問等はスレが荒れる原因になるので華麗にスルーして下さい
※上記の事柄に反応した場合その人も同じ池沼扱いされますので決して反応してはなりません
※このスレは如何にスルーできるか問われるスレですので肝に銘じておいて下さい
※禿しく空気読め

前スレ:PCエミュレーター統合スレッド Part6
http://hello.2ch.net/test/read.cgi/i4004/1364603890/

2 :ナイコンさん:2015/05/06(水) 21:24:33.80 .net
保守

3 :Artane. ◆1o3c8RYIzjU0 :2015/05/07(木) 03:28:05.70 .net
# 連休中は、インフルエンザっぽい何かで死んでました
# …休日診療所に行くだけの体力がない状態で死んでて、診療所に行ったらすでに治りかけで病名不明という(^_^;

↑の理由とかもあって前スレで指摘されていたことに関して、全部積み残してきましたが、ぼちぼち始めますね。

4 :Artane. ◆1o3c8RYIzjU0 :2015/05/08(金) 17:48:21.43 .net
>>前スレ962
>962 :ナイコンさん:2015/04/29(水) 17:58:38.01
>eFM7(4月29日版)ちょっと触ってみたが、まだ使えるレベルにない。
>・フレームレートが出ない。1-9fps.カクカク感が酷い。

これに関してですが、こちらの方でWineを使う限りでは60fps出ますね。
但し、かなりクロックが上昇している。
この違いを少し考えていきますね。

後、Qt版ですが、スケジューラに問題があって強制フレームスキップしていたので直しました(^_^;

5 :Artane. ◆1o3c8RYIzjU0 :2015/05/08(金) 18:55:21.05 .net
連投すんまそん。
>>同じく前スレ962
>・FM-NEW7のDEMO-1の最後の楽譜のデモで音符が出ない。
> パレットは正常。この部分単独で動かすとちゃんと音符出る。

直しました。
commit e3e0193f87c238c23c2f8c95e8bcbdbe38415d3e です。

で、今度はフリ○キーの画面が愉快なことになってますが、多分6809コア絡みだと思うので暫しお待ちを。

6 :ナイコンさん:2015/05/18(月) 04:05:50.59 .net
XM7公開中止なのか?

7 :ナイコンさん:2015/05/18(月) 08:35:01.91 .net
Artaneさんに頑張ってもらおう

8 :ナイコンさん:2015/05/18(月) 20:14:19.49 .net
なんか昔も似たような事あったな。
エミュじゃないけど、なんの問題もなく地道に公開されてたフリーウェアに
ちょっとしたバグが見つかって叩かれて公開中止とか。
xm7の作者はもうちょっと面倒くさい事になってたみたいだが。

9 :ナイコンさん:2015/05/18(月) 22:59:31.03 .net
>>8
>xm7の作者はもうちょっと面倒くさい事になってたみたいだが。
kwsk

10 :Artane. ◆1o3c8RYIzjU0 :2015/05/19(火) 04:33:23.48 .net
# 気管支炎で血を吐いたりして都合二週間半寝込みましたが、何とか治ったようなのでぼちぼち再開します。
# Visual Studio 2013を入れたりWindows8の限定ライセンス品(要は試用版)を入れました。
## 例によって仮想マシンにですが。

現状、6809の修正で躓いてます_| ̄|●
なんか見落としてる気がするのですが気がついてないです。

>>7
工エエェェ(´д`)ェェエエ工
と言うか、私のような技術レベルがお世辞にも高いとは言えない人が…(;´Д`)

11 :Office & Gamers ◆G144Hzgh2.0e :2015/05/19(火) 06:50:32.36 .net
# VS2013アンインストール完了w
# ついでにクリーンインストールw
## 安定の99BASICとDarkBASIC。(キリッ

ゲーム開発は簡素でムダのないスッキリしたものがいいm9( ̄∀ ̄)/♪ホォ〜w”
AGKもお勧め♪(アハ♪”

今日の一言w
英語が分からなくてもAGKは簡単(ヲッ

12 :ナイコンさん:2015/05/19(火) 16:29:03.36 .net
>>9
kwskはしない。ググったら見つかるかもしれん。

13 :ナイコンさん:2015/05/19(火) 16:30:47.63 .net
補足すると、xm7の作者が何かしでかしたわけではない(はず)

14 :ナイコンさん:2015/05/19(火) 22:33:46.87 .net
あぁ、やっとMS VisualStudio 2013 Community Editionでビルドできました(;´Д`)
入手できたDirect X9 SDKがJun 2010版だったので、多少?パッチ当てました。
githubの commit 4d85d1642c86350d097009f4002304c40133472c あたりと
commit commit dfe25af47509fd894726e543152eef0508c85a9e の差分をお読みください(;´Д`)

前スレ >>962 ですが、
>・フレームレートが出ない。1-9fps.カクカク感が酷い。
>・PSGの音がとぎれる。

現象確認できました。やはり、デバッグビルドだと最適化しないので処理が詰まってますね。
リリースビルドにして最適化かけまくると、FM77AVで35〜48fps出てる(VirtualBox + Windows 8.1 / Linuxホスト)
プロファイラで覗きましたが、EVENT::Mix()で呼び出してるYM2203::Mix()で物凄い時間を喰ってる辺りが臭いですね。
なんでこうなってるのか、続行してみていきますね。

15 :Artane. ◆1o3c8RYIzjU0 :2015/05/19(火) 22:34:25.03 .net
あ、コテつけ忘れた(^_^;
>>14は私ね。

16 :Office & Gamers ◆G144Hzgh2.0e :2015/05/20(水) 00:49:17.71 .net
>>14
DX10まではデバイス消失処理が必要になるから、素直にDX11使った方がいいよw
GDIだけならいらないけどw

17 :ナイコンさん:2015/05/21(木) 21:02:26.46 .net
eFM7はESCキーが効いてなくないですか?

18 :ナイコンさん:2015/05/21(木) 21:23:38.50 .net
eFMはどっち版の話をしてるのかわからんなw

19 :Artane. ◆1o3c8RYIzjU0 :2015/05/22(金) 05:26:14.48 .net
>>17
ESCはPause Break を押して下さい。
Breakキーを使いまくるアクションゲームが主流という経緯があって、そうしております。

20 :ナイコンさん:2015/05/23(土) 02:38:31.74 .net
>>19
なるほど Breakキーだったんですね
出来たらXM7みたいに漢字キーにESCを割り当ててもらえませんか?
そのほうが実機の配置っぽいかなと

21 :ナイコンさん:2015/05/25(月) 01:20:32.43 .net
xm7、ミラー(?)でまだダウンロードできる。
まぁ、もう開発終了ですってハッキリ書いてあったけど。

22 :Artane. ◆1o3c8RYIzjU0 :2015/05/28(木) 04:15:00.11 .net
>>20
デスクトップ環境によっては漢字キーをデスクトップ環境が優先的に取ってしまう場合があったので、少し検討させてください(前向きな方向で)

23 :ナイコンさん:2015/05/28(木) 21:36:08.63 .net
>>22
検討ありがとうございます

24 :ナイコンさん:2015/05/28(木) 23:44:25.67 .net
keycode.cfgで変更すれば良いかもしれない

25 :Artane. ◆1o3c8RYIzjU0 :2015/05/29(金) 02:29:08.91 .net
>>24
その方法はアリといえばアリなんですが、何か今ひとつスマートじゃないし、今の処そういう問題を抱えてるのはFM-8/7系だけなので…
今考えてるのはConfigファイルに「Pause Breakと全角半角を入れ替える」と言うエントリを作ろうかなと。
まぁ、今日作業にとりかかるのは難しいですが。

26 :Artane. ◆1o3c8RYIzjU0 :2015/05/29(金) 02:48:48.17 .net
後、これは横紙破りかも知れないのですが、色んな作業の合い間に、「音源ごとに左右の音量調整をつける」と言うのをやろうかと思ってます。
これが必要だなと思ったのは、結局はFM-7で複数のFM音源やPSGを実装していて、「実機では、スピーカーが全部違ったよな」と思って、特にWHGやTHGを使ってる同人ソフト等ではWHGとOPN(とPSG)のスピーカーをステレオ状に配置する前提の物が結構あるので。
大抵のFM音源積んでるマシンでは一個の音源でステレオを実現してるのですが…
基本的には、device.hのテンプレにダミーをvirtualで実装して、YM2203とかに現物を実装して示そうかな。と…

27 :Artane. ◆1o3c8RYIzjU0 :2015/05/29(金) 21:20:10.11 .net
AVが手詰まりなのでFM-77を手がけ始めましたが、尽く動作がおかしい(;´Д`)
なぜ?(;´Д`)

>>23-24
とりあえず、Qtでスキャンモードの時にはIM(漢字等の入力のインプットメソッド)を介さないことがわかったので、
FM-8/7/77/AVでの[ESC]キーは、[漢字]キーに変更しました。

commit 2d86f5180d9d40f7c3514a95186d143443c8bcbc と commit 2e7bb411e863d9ef2270d1e076777d7be4f1edcc を参照願います(武田さん側の作業が必要なのはcommit 2e... の方だけで済むと思います)

28 :Artane. ◆1o3c8RYIzjU0 :2015/05/29(金) 22:52:21.04 .net
とりあえず、OPN/OPNAでステレオ音声調整を実装しました。
今の所、FM-7/77AVで複数の音源を使用してる場合に幸せになれるけど、一個の音源の場合は不幸かも知れないという感じに仕上がってます(^_^;
UI側やConfigの対処はまた、今度(`・ω・´)

>commit 2740246682b59c8f8c6b1b81c6d2f98c4b44bf31ESC[m
>[VM][FM7][YM2203] Add stereo volume feature for YM2203 (OPN/OPNA) w/o MAME DLL.
>See vm/ym2203.h and vm/fm7/sound.cpp .

29 :Artane. ◆1o3c8RYIzjU0 :2015/05/29(金) 22:56:27.94 .net
>>28補足。
・YM2203::mix()がゆかいなコードになってますが、これ、SIMD最適化が少しでもされてくれるのを狙ってるので
 …本来的には、コンパイラのSIMD用ベクタ演算拡張を使用すべきなのですが、アラインメントとかそういう辺りの話も規格化されてるかどうかというものですし。
・MAMEのFMDLLは中身がよくわからないので、ビルド時に有効にした場合はスルーするように組んであります。

30 :ナイコンさん:2015/05/30(土) 20:19:17.08 .net
要望受け付けてくれてありがとうございます

31 :ナイコンさん:2015/05/31(日) 20:47:48.35 .net
流れぶった切ってすまん。
msxエミュの設定の仕方はどこのスレで聞いたらいいか、教えろください。

32 :ナイコンさん:2015/06/01(月) 08:41:32.75 .net
>>31
ここだと思うが、物は何?

33 :ナイコンさん:2015/06/01(月) 08:44:31.62 .net
xm7再々公開ですな

34 :ナイコンさん:2015/06/01(月) 19:01:02.23 .net
>>32
bluemsx。
パッドで連射したい。
controllボタンで開く「rensha」だと、ボタン押してなくても連射して
しまうので、ボタン押した時だけ連射するにはどうしたら?
bluemsx.iniの中にjoy1.autofireがあるんだけど、どう設定したら?

35 :ナイコンさん:2015/06/03(水) 21:48:29.63 .net
>>34
ごめん、それはわからないや。

36 :ナイコンさん:2015/06/04(木) 23:01:11.37 .net
めんどうくさくなったから、連射付きパッド(正確に言うとジョイスティック)を買った。
スレ汚し済まん。もう終わり。

37 :ナイコンさん:2015/06/05(金) 08:51:26.81 .net
録画機能のあるエミュってどうやってるんだろうね?
初期状態でメモリの全イメージと周辺IOの全ての状態を保存してあとはキーボード操作だけ内部タイミングにあわせて黙々と保存する感じなのかな?
実機と違って全てが完全にタイミングまで含めて管理下なのでそれでいけるか、どうだろ?

実機だとどうするかなぁ……、IO監視だけでも無理だし

38 :Artane. ◆1o3c8RYIzjU0 :2015/06/20(土) 03:35:57.71 .net
とりあえず、最近の状況のバイナリなど。
http://www1.axfc.net/u/3488799

39 :ナイコンさん:2015/06/20(土) 09:38:34.23 .net
Avastが怒るでしかし

40 :Artane. ◆1o3c8RYIzjU0 :2015/06/20(土) 13:03:28.55 .net
ええっとー…Avast入れてないからわからんのですが、おおもとのファイル自体について何か言ってくるのでしょうか?

41 :Artane. ◆1o3c8RYIzjU0 :2015/06/20(土) 13:15:22.86 .net
連投すいません。
ClamAVのスキャンでは問題ないですねー。誤反応だといいのですが…

42 :Artane. ◆1o3c8RYIzjU0 :2015/06/20(土) 13:26:13.74 .net
更に連投します m(_ _)m
とりあえず、こんな複数のウィルス検出エンジンで調べてくれるサイトがあるんで調べてみましたが、AvastはW32:Evo-Genと検出しますね。
他は検出しないですが。こまった(;´Д`)
どのファイルの実行がブロックされたかお教え頂けるとありがたいです >>39
https://www.virustotal.com/ja/
SHA256: a78569a77a47b218d38476488b57a001402d570ec1400020baf87b2c4ff6bbde
ファイル名: CSP_BUILD_20150620-1.7z
検出率: 1 / 57
分析日時: 2015-06-20 00:27:00 UTC (3 時間, 54 分前)
ウイルス対策ソフト 結果 更新日
Avast Win32:Evo-gen [Susp] 20150620
ALYac 20150619
AVG 20150620
AVware 20150620
Ad-Aware 20150620
(以下略)

43 :Artane. ◆1o3c8RYIzjU0 :2015/06/21(日) 22:18:28.92 .net
と言う事で、ウィルススキャナを怒らせないビルドを作りました(;´Д`)
幾つか問題点を解消してあります。
今回Windowsのみ。
http://www1.axfc.net/u/3490030

FM-77AVのソフトも、七割以上は動くはず。キーボード周りとかジョイスティック周りで不具合起きてるソフトもありますが、これから直していきます(`・ω・´)
後、今までの改善点を取り込んでLinux (amd64)ビルドしていきますね。

44 :Artane. ◆1o3c8RYIzjU0 :2015/06/22(月) 01:23:18.31 .net
やっとこさLinux (AMD64)ビルドが出来ました。
CSP_BUILD_Linux_20150621-1.7z,http://www1.axfc.net/u/3490194
GCCのリンク時最適化を使ったので若干サイズが小さくなってますが、その分機種が増えてます(^_^;
ネットワーク関係のコードはダミーです(^_^;

45 :ナイコンさん:2015/06/22(月) 01:49:38.56 .net
>>43
細かいかもしれないけど、FM77AV以降はハイフンつかないよ。
エミュレータ作ってる人が実機の名前間違えないで欲しい。

46 :Artane. ◆1o3c8RYIzjU0 :2015/06/22(月) 05:19:33.61 .net
>>45
申し訳ないです。

47 :ナイコンさん:2015/06/22(月) 11:15:24.72 .net
Avastの誤検出は毎度のことなので、その分ユーザー側も慣れてる、
無視しちゃっても良いと思うよ。

48 :Artane. ◆1o3c8RYIzjU0 :2015/06/23(火) 04:43:31.43 .net
昨日までの作業内容。
いつものアップローダが上手くアップできなくなってたので、海外のアップローダに。
例によって機種が増えたり色々あります(笑)
https://www.sendspace.com/file/8tzznj

49 :Artane. ◆1o3c8RYIzjU0 :2015/06/23(火) 04:45:19.31 .net
>>47
ありがとうございますm(_ _)m
で、一昨日アタヽ(д`ヽ彡ノ´д)ノフタしてたのは、最初はAvast一つだったんだけど次に調べたら複数のチェッカがウィルス認定してきたので、原因を調べるのに難儀したという。
あ、今回は問題出ませんでした。

50 :Artane. ◆1o3c8RYIzjU0 :2015/06/23(火) 20:11:42.54 .net
CSP_BUILD_20150623-1.7z,http://www1.axfc.net/u/3491135

とりあえずアップしました。
ウィルススキャンで一個出ましたが、Windows側ではないので、誤検出だと思います。

51 :ナイコンさん:2015/06/24(水) 00:41:41.27 .net
http://retropc.net/pi/

52 :ナイコンさん:2015/06/24(水) 09:51:37.81 .net
>>37
録画なんだし出力画像と音声だけじゃダメなの?
キーボードとかI/Oとかどうでもいいんじゃ?

53 :ナイコンさん:2015/06/24(水) 15:58:04.97 .net
録画ってのはムービーではなくプレイデータの記録(リピート機能)の事なんだろうね

54 :ナイコンさん:2015/06/25(木) 00:26:25.46 .net
そうそう、操作記録再生機能

画像音声記録はリアルタイムでしか出来ないので、コマ送りやリアルタイムセーブロードを駆使してスーパープレイデーターをつくって鑑賞するみたいなことはね

55 :ナイコンさん:2015/06/25(木) 00:28:27.15 .net
EMSにメインメモリを総退避、復帰でリアルタイムセーブ・ロードと割り込みコントローラーを再初期化してのスローモーション・早送り機能を持ったTASツールは
その昔作りましたが、操作記録機能あるゲームでもゲームによって途中で同期ずれておかしくなったりもあったのでエミュ系のお知恵拝借したら何とかなるかも?
と、ふと思ってお訊ねしてみたのでした

56 :ナイコンさん:2015/06/25(木) 01:02:27.23 .net
エミュならばVSYNC1回にn命令分を実行するという方法が取れるから毎回同じ状態に出来るが
実機(PC)の場合ゲームのOP流してVSYNCの割り込み回数を計って必ず同じ回数になるかというとまず無理だし
ほぼ不可能に近いと思う

57 :Artane. ◆1o3c8RYIzjU0 :2015/06/25(木) 22:38:25.12 .net
今日、武田さんがアップデートしたのを反映しましたヽ(´ー`)ノ
CSP_BUILD_20150625-1.7z,http://www1.axfc.net/u/3492392

ウィルスなし。
後、重要なところで、Linux側のビルドにはQt5が必要になりました。どうやら、開発元が「Qt4オワコンだからアップデートしないよ」宣言したようなので。

それと、業務連絡っぽい感じになりますが、フロッピーの「CRCエラーを無視する」(Ignore CRC errors)について、ドライブ単位で設定できるようにしました。
既に、winmain.cppの方にもマージしてあります。

58 :Artane. ◆1o3c8RYIzjU0 :2015/06/26(金) 04:06:25.51 .net
連投すいません。
業務連絡で忘れていました。
FM-77(AVではない)で、一部のソフトウェア(MMRで$3Fxxxxを指定してなおかつその物理アドレス$FC00以上を指定するもの)が動かないのの対策を、
武田さんがリリースされたのと同時期にすれ違いで作業していて、反映されてない部分がありましたので…

>commit bb417371bdad8ccd31228f2cf3de1150ad302e9f
>Date: Thu Jun 25 06:49:29 2015 +0900
> [VM][FM77] Fix around FM77's MMR.

>commit 5902692e572dd195b52adf8e71223b8d05d0b84e
>Date: Thu Jun 25 05:37:02 2015 +0900
> [VM][FM77] Implement around MMR.
辺りをご参照くださいませm(_ _)m

昨日夜半にアップしたバイナリでは、Windows,Linux(x86_64)両方共適応されています。

59 :ナイコンさん:2015/06/27(土) 00:25:31.18 .net
更新乙です

60 :ナイコンさん:2015/06/27(土) 08:33:14.48 .net
>>58
要はFM-77D1/D2/L2/L4と、FM77AV以降とで
物理アドレス$3FC00-$3FFFFが示す内容が異なる点のことだと思うけど、
ここを利用したソフトウェアってあったっけ?

ちなみに物理アドレス$3FC00-$3FFFFの具体的仕様は以下の通り。

・FM-77系
 →F-BASIC ROMモード時はF-BASIC ROM 32KBの末尾1KB(F-BASIC ROMの続き)
  F-BASIC RAMモード時は物理アドレス$3FC00-$3FFFFのRAM(裏RAMの続き)
 備考1: 論理アドレス$FC00-$FFFFと同じ。
 備考2: RAMモード時の$3FE00-$3FFFFについてはBOOT RAMの$FE00-$FFFFと同じ。
  
・FM77AV以降
 →論理アドレス$FC00-$FFFFと同じ。
  ROMモード・RAMモードの影響なし。

61 :Artane. ◆1o3c8RYIzjU0 :2015/06/27(土) 09:57:05.07 .net
>>60
それがあるんですよ、奥さん!
某ワープロソフトがここら辺使って機種判別か何かやってるんですよね、これが。

62 :ナイコンさん:2015/06/27(土) 12:52:51.01 .net
>>61
マジか。
FM-77実機でそんなん調べたの私くらいだろと思ってたよ。

AV以降とFM-7/77の判別は、
 1.$FD10のbit1を0にする
  →イニシエータROMをONにする
 2.リセットベクトルを確認する
  $6000→AV以降(イニシエータROMのベクトル)
  $FE00→FM-7/77(ブートROMのベクトル)
が定番だと思ってた(F-BASIC V3.3L1xがこれ)。
FM-77の場合ブートROMをONにしておくことも前提だけど、
リセット直後なら基本ONだから通常は気にしないでいいし。

制限事項として確認ロジックが$6000-$7FFF上に置けないからそれでかな?

機種判別してるワープロというと、知ってる限りだとJET-77A Elie位かな。

63 :60=62:2015/06/27(土) 16:39:59.04 .net
書き込み見直したらFM-77系の備考1がミスってたので、訂正。

物理アドレス$3FC00-$3FFFFの具体的仕様は以下の通り。

・FM-77系
 →F-BASIC ROMモード時はF-BASIC ROM 32KBの末尾1KB(F-BASIC ROMの続き)
   F-BASIC RAMモード時は物理アドレス$3FC00-$3FFFFのRAM(裏RAMの続き)
   備考1: 論理アドレス$FC00-$FFFFとは異なる。
   備考2: RAMモード時の$3FE00-$3FFFFについてはBOOT RAM(BOOT ROMがOFFの時)の$FE00-$FFFFと同じ。
  
・FM77AV以降
 →論理アドレス$FC00-$FFFFと同じ。
  ROMモード・RAMモードの影響なし。

64 :武田 ◆bnZpPXJze51u :2015/06/28(日) 01:16:30.96 .net
>>58
更新いたしました。
2015/6/27までのcomiitsが取り込まれています。

私自身の作業は、FM16βをちょっとペンディングにして、
MZ-2500のタイミング改良を行っています。

65 :ナイコンさん:2015/06/28(日) 01:56:44.16 .net
6/25版のeFM7,eFM77AVいじってみたが、
相変わらずカクカク。FM77AVデモ動かん。
てか音出ない?

66 :Artane. ◆1o3c8RYIzjU0 :2015/06/28(日) 05:18:05.39 .net
>>64
お疲れ様です。

>>65
私の方のビルド(VC2013 コミュニティーエディション+SSE2最適化コンパイル)だとどうですか?
とまれ、色々調べて見ますが…
Wine経由でも仮想マシン上のWindows8.1でも、武田さん配布の物含めて、他のマシンと余り変わらない速度が出ていますが…

67 :Artane. ◆1o3c8RYIzjU0 :2015/06/28(日) 05:20:18.06 .net
>>65
追伸。
現状、自分の作業で足を取られていて、武田さん側でマージされたコードの確認が疎かになってますので、タイミング見てマージされてる側でビルドし直して見ますね。

68 :Artane. ◆1o3c8RYIzjU0 :2015/07/23(木) 04:19:24.88 .net
もう一息で、最初のeFM77AVをリリースできそうな感じまで来ました。
何故かブートしないソフトがブート出来るようになったら、スナップショット扱いでどこかに掲示します。
後、Windows側はVS2015でのビルドが提供出来そうです。結構最適化の出来が良さそうですので。

69 :ナイコンさん:2015/07/23(木) 11:56:11.27 .net
ほうほうほう

70 :Artane. ◆1o3c8RYIzjU0 :2015/07/23(木) 20:56:44.42 .net
えっと、リリースかけました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20150723

既知の問題点:
・一部のディスクイメージが、予期せぬRecord Not FoundやCRC errorを起こして読めなくなって起動しない
・FM77AVのリアルタイムキースキャンの挙動が不審
・Linux側はひょっとしたら、Qt5.5じゃないと動かないかも知れない(5.5依存のクラスは使ってないですが)。
・Win32側はVisual Studio 2015を使ってビルドされてるので、なんかあるかも知れない

とりあえず、Linux側にしかUIができてないですがマウスにも対応しました。
大概のものは上記の問題点に引っかからなければ動作するようですが…

バイナリは、以下のどちらかから:
https://www.sendspace.com/file/jwrhrr
http://www1.axfc.net/u/3505167

71 :武田 ◆bnZpPXJze51u :2015/07/24(金) 00:01:10.17 .net
お疲れ様です。
最近多忙すぎて全然対応できなくて申し訳ないです。
XM8も更新されましたし、なるたけ早めに取り込みたいと思います。

Win32版のバイナリですが、FM77AVのデモの、スターウォーズ風の
字幕?が表示されないみたいです。
Linux版のバイナリではどうでしょうか?

72 :Artane. ◆1o3c8RYIzjU0 :2015/07/24(金) 01:02:14.13 .net
既知の問題点に追加:
・Qt版のemufm7/77/77AVでの、FDC周りのデバッグログを出すオプションでビルドしていた
・ブレークキーの押しっぱなしに対応出来てなかった(エンバグ)。
近い内に対応します。

>>71
お疲れ様です。

>Win32版のバイナリですが、FM77AVのデモの、スターウォーズ風の
字幕?が表示されないみたいです。
>Linux版のバイナリではどうでしょうか?

Linux版は問題ないです。
Win32版をWine上で動かしてみましたが、表示はされますね。VirtualBox上のWindows8.1でも大丈夫でした。
http://i.imgur.com/bUAn4pz.jpg

新しく書いたドキュメントにも書きましたが、FM77AVのイニシエータROMはAVでしか、AV20/40のそれはAV20/40でしか使えないという辺りの
関係かも知れません。もしくは、余り考えたくないですがVS2015のXP対応か何かの問題とか…

73 :武田 ◆bnZpPXJze51u :2015/07/24(金) 01:26:32.27 .net
>スターウォーズ風の 字幕?

どうも、サイクルスチールがオンになっていないと表示されないみたいです。

74 :Artane. ◆1o3c8RYIzjU0 :2015/07/25(土) 13:44:57.61 .net
>>73
現状で、直せました。
ついでに、
>>72で挙げた
>・ブレークキーの押しっぱなしに対応出来てなかった(エンバグ)。
も直せています。

CSP_BUILD_20150725-1.7z http://www1.axfc.net/u/3505996
ソースコードは commit 5ccf5161bd82a78becf4346312f70034c6af40fe で。

今、 >>71 の
>・FM77AVのリアルタイムキースキャンの挙動が不審
を直してますが手間取ってます。これのめどが付くか棚上げにするという判断ができるかしたら再度スナップショットリリースを出そうと思っています。

75 :Artane. ◆1o3c8RYIzjU0 :2015/07/27(月) 00:42:43.35 .net
とりあえず、>>72-74 の問題は解決出来ました。
「リアルタイムキースキャンの挙動不審」の問題は、かなりきわどいことをやってますが。

ソースコード:
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20150726

バイナリ:
https://www.sendspace.com/file/324qf8
http://www1.axfc.net/u/3507201

76 :武田 ◆bnZpPXJze51u :2015/07/31(金) 01:18:53.77 .net
[VM][FM77AV][DISPLAY][SOUND] Fix OOPs of resetting devicesまで取り込みました。
[VM][FM7] Move mb61vh010.[cpp|h] and hd6844.[cpp|h] to source/src/vmは、今回はペンディング。
ドライブ毎にIgnore CRC Errorsを設定する仕組みは、多少弄った形で取り込んでます。

今回から、SSE有効、WholeProgramOptimization無効でビルドしています。
ウイルス絡みの問題も解決してるっぽいです。

77 :武田 ◆bnZpPXJze51u :2015/07/31(金) 01:26:20.90 .net
>Artane.さん
floppy.cから、read_signal()でMB8877のレジスタの値を取得しています。
ひとまず、そのままの形で取り込んでいますが、
これらのレジスタを弄っているのもfloppy.c内の処理なので、
ここで設定した値をキャッシュしておけば、read_signal()しなくても
実装できるんじゃないかなーと思います。

MB8877内で、SEEK直後のread/writeは70msec以上待機する処理が
コメントアウトされていたのを戻していますが、
これは何か必要なソフトがありましたでしょうか?

自分でもなんでコメントアウトしたのか覚えてないのですが(苦笑)、
影響が大きそうなので、今回はそのままにしておきました。

今の実装はちょっと適当なので、SEEK完了時の時間を控えておいて、
そちらとの比較をするように直そうかなあと思っています。

78 :Artane. ◆1o3c8RYIzjU0 :2015/07/31(金) 04:26:04.35 .net
>>77
ありがとうございます。
FDCコマンドのキャッシュの件は、こちらでやって、問題がないかどうか見てみます。

70msのウェイトですが、エミュレーション上、幾つかの(主にFM-7の)ソフトで不都合が生じる可能性があるので復活させました。
で、今さっきCommitした、config.fdd_hack_fast_transfer関連の事ですが、
これは、FM-7でフロッピードライブの回転数を見ている可能性があって動作しなかったソフト
…例えばぎゃ◯ぶらぁ自己中心◯…の動作の為の物ですので、
どうかよろしくお願い致しますm(_ _)m

79 :Artane. ◆1o3c8RYIzjU0 :2015/07/31(金) 04:37:35.29 .net
>>76
ペンディングの件、了解です。
mb68vh010に関しては、FM16βでも使われてますので、その時にでもご検討下さいませ。

もう一つのDMACに関しては、確かにテストが十分ではないので、了解しました。

後、fm7/keyboard.cppに関しては、最新コミットのタイミング(要はポーリング間隔20ms)でないと、
信◯の野望 全国版のキー入力や一部のシューティングゲームの入力がワヤになるので
…次のリリースタイミングでよろしくお願いします(まだ今の武田さんリリースを確認出来てないのでアレですが)

80 :Artane. ◆1o3c8RYIzjU0 :2015/07/31(金) 04:40:11.71 .net
まだまだ、わかっていない不具合がありそうではありますが、公開テストを兼ねて、Artane.版の仮リリースをそろそろ再びやろうかとは思っています。
その後はFM-8にするかAV40SXにするかで悩んでいます。
FM-8は多分、川崎の県立図書館で当時の資料を一通り漁らないとかなりきびしそうですが。Oh!FMのI/Oマップに不正確な所がかなりあるので。

81 :武田 ◆bnZpPXJze51u :2015/08/01(土) 04:10:35.78 .net
更新しました。

自己中心派については、オプションで速度を変更するのではなく、
自動判定で処理を切り替えるようにしました。
フラグとして、disk.cpp内のis_special_diskを使っています。
他のソフトでも処理が必要な場合はお知らせください。

ディスクのライトプロテクトを変更する処理を取り込みました。
全機種に横展界しています。

MB8877のトラックレジスタ、サイドレジスタの扱いを変更しました。
read/writeコマンドでアクセスされるのは、トラックレジスタが
指しているトラックでなく、seekコマンドで移動した現在のトラック、
サイドレジスタで指定されたサイドとなります。
このとき、トラックレジスタは、IDのCとの比較のみ行います。

多分これで正しいと思いますが、かなり大きな変更ですので、
FM-7のほか、MZ-2500やX1なんかでもテストにご協力ください。

82 :武田 ◆bnZpPXJze51u :2015/08/01(土) 04:26:49.03 .net
>このとき、トラックレジスタは、IDのCとの比較のみ行います。

あかん、これだとX1でブートしなくなっちゃった(苦笑)
ファイルを差し替えますので、明け方までお待ちください。

83 :Artane. ◆1o3c8RYIzjU0 :2015/08/01(土) 04:27:34.60 .net
スレ違いで(7/31付+αで)リリースをかけてしまったヽ(´Д`;)ノ...
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20150731
http://www1.axfc.net/u/3509882
https://www.sendspace.com/file/m7a5de

ごめんなさい>武田さん

>>81
変更点了解しました。
寝て起きて以降確かめていきます。

84 :ナイコンさん:2015/08/01(土) 10:53:07.26 .net
X1turboのTHE MAN I LOVEが起動するようになりました

85 :ナイコンさん:2015/08/01(土) 14:29:17.45 .net
>>80
>Oh!FMのI/Oマップに不正確な所がかなりあるので。
 FM-7 $FD00:bit1(w)のON/OFFが逆
 FM-77 $FD04:bit2(w)のSFD/NORMALが逆
これくらいしか知らないな。($FD04は某サイトに記述あり)
他にあるならリストアップして欲しいな。
ここよりも、todo.txtとかnote.txtとかの名前で
リポジトリの中に放り込むとかの形がいい。
理想はWebサイトだけど…。

>>81
>MB8877のトラックレジスタ、サイドレジスタの扱いを変更しました。
物理トラック(ハード側)と論理トラック(ソフト側)の考え方ですね。
実際にR/Wされるのは物理トラック、FDC内で管理しているのは論理トラック。

86 :Artane. ◆1o3c8RYIzjU0 :2015/08/01(土) 21:54:08.21 .net
>>81-82
とりあえず大まかに見てみましたが、問題はなさそうです(が、もっとテストしないと良いか悪いか判断ができない改変なので判断保留)。
既に、昨晩作業していたリリースにある仮想マシンに関しては、Debian+Qtではビルドできる状態までマージしました。
今、Windows側(VS2015)をやり始めてます。

>>85
多分それよりも前の奴で、1984年のOh!FMに載ってたI/Oマップです。
このデバイスや割込線があるはずなんだけど書かれてない(例えば割込原因フラグとかマスクレジスタとか)のがあったので、
工学社のFM-8活用研究(だっけ?)辺り見ないとダメだな。と。

87 :ナイコンさん:2015/08/01(土) 21:59:30.73 .net
#include <QOpenGLWidget>
の所でmakeがエラーになってしまいました。
ttps://doc-snapshots.qt.io/qt5-5.4/qopenglwidget.html
Qt 5.4未満ではダメってことですかね。

88 :Artane. ◆1o3c8RYIzjU0 :2015/08/01(土) 22:52:41.04 .net
>>87
Include元はどのファイルですか?
こちらで書いたのの問題かどうかちょっと確かめてみます。

89 :ナイコンさん:2015/08/01(土) 23:16:04.25 .net
>>88
QOpenGLWidgetは
ttps://github.com/Artanejp/common_source_project-fm7/tree/master/source/src/qt/common
の、
qt_gldraw.cpp
qt_gldraw.h
qt_glevents.cpp
にあるようです。エラー表示に出てきたのはqt_gldraw.hだったと思います。

90 :Artane. ◆1o3c8RYIzjU0 :2015/08/01(土) 23:24:37.66 .net
>>89
QOpenGLWidget自体はQt5であれば用意されてるので、
src/qt/gui/ や src/qt/common/ を構成してる他の部分のコンパイルに成功するならば、
QtOpenGL部分のヘッダがパッケージとして入ってないのかも知れませんね。
ディストリがわからないのでアレですが、例えばDebian GNU/Linux(多分Ubuntu等も)の場合は、
libqt5opengl5-dev と言うパッケージがないと多分コンパイルコケます。(がcmakeが
通ったのだとしたらこちらの書き方も悪い)

91 :ナイコンさん:2015/08/02(日) 00:29:54.12 .net
libqt5opengl5-devは入っていて、バージョンが5.3.2+dfsg-4+deb8u1になっています。
ttps://packages.debian.org/testing/libdevel/libqt5opengl5-dev
ttps://packages.debian.org/jessie/libqt5opengl5-dev
Debianのテスト版であれば5.4以上、安定版であれば5.4未満で正しい、と。

で、>>87のドキュメントには
Since: Qt 5.4
って書いてあるし、qt5-qtbase-devel等のバージョンが5.4.2-2.fc22になってるFedoraではmake成功するし、
やっぱり5.4未満ではダメなのかな、と。

92 :Artane. ◆1o3c8RYIzjU0 :2015/08/02(日) 01:31:04.96 .net
>>87
>>91
状況はわかりました。
ディスクの空きを作って仮想環境にStableのDebianを入れるのに時間下さい。
可能であれば、5.3基準で組み直して見ます。
来週半ばにディスク買う予定です(どちらにせよ別件で使っているのが逼迫してるので)ので、最悪そのタイミングになるかも知れないのでが。

93 :ナイコンさん:2015/08/02(日) 01:56:36.78 .net
(実はSDLも2.0.0ではビルドできなくて、2.0.2あたりではビルドできるという話があったようななかったような...)

94 :ナイコンさん:2015/08/02(日) 02:31:37.68 .net
(SDL_DetachThreadが引っかかってた気がするけど、今のソースにはないみたいですな...)

95 :ナイコンさん:2015/08/02(日) 03:42:41.92 .net
>>86
FM-8活用研究や、84年のOh!FMにはI/Oアドレス表は載ってないよ。
FM-8活用研究に載ってるのはF-BASIC V1.0のエントリアドレスリスト。
Oh!FMにI/Oアドレス表が載ってるのは、知ってる限りだと86年7月号と89年5月号。
89年のはFM-7シリーズ限定だから、FM-8のが載ってるのは86年のだけかな。
余談だけどFM-7/8活用研究にもI/Oアドレス表は載ってないよ。

96 :Artane. ◆1o3c8RYIzjU0 :2015/08/02(日) 04:07:20.62 .net
>>87-91
とりあえず、Qt 4.8以降ならビルドできる*はず*のコード分けをしてみました。
Qt5.3の環境を作らないでやったので、お試しくださいませ m(_ _)m

>>94
SDL_Thread は使わないようにしました。折角Qtがマルチスレッドを提供してるのにSDLのスレッドを乱立させるのはあまり美しくない(笑)ので。

>>95
なるほど。
一寸ボケていました。
FM-8の活研って、I/Oは無いにしても回路図載ってませんでしたっけ?
要は回路図がないかなー。と。

97 :Artane. ◆1o3c8RYIzjU0 :2015/08/02(日) 04:19:48.07 .net
後、業務連絡です>武田さん
eX1TurboZのアイコンですが、どうやら違ってるようなので…ZのつかないX1Turboのアイコンが使われているようです。

98 :ナイコンさん:2015/08/02(日) 13:13:55.48 .net
>>96
回路図なら載ってるよ。

FM-8活用研究→FM-8の回路図
FM-7/8活用研究→FM-7の回路図
FM-7/11活用研究→FM-11の回路図
FM-7/11活用研究第二集→FM-77の回路図
6809活用研究→日本語通信カードの回路図
FM-Techknow→FM77AVの回路図

FM-Techknowは本は持ってないので外部情報だけど。

でも、回路図からI/Oアドレスは直接は導けないよ。ヒントにはなれど。
実機で動確しながら一つ一つ確かめないと。

99 :Artane. ◆1o3c8RYIzjU0 :2015/08/02(日) 14:12:33.78 .net
>>98
ありがとうございます。

>でも、回路図からI/Oアドレスは直接は導けないよ。ヒントにはなれど。
>実機で動確しながら一つ一つ確かめないと。

まぁ、確かにそうですね。
今更実機を入手できるかどうか自信が無いですが(どうせヤフオクだととんでもない値段になるから入手不可能だろうし、丹青あたりで安く出てるといいのですが…)
やれる限りのことはやっていこうかと。

100 :87,89,91:2015/08/02(日) 15:23:28.45 .net
>>96
今はこんな感じです。
source/src/qt/common/qt_gldraw.cpp: In member function ‘void GLDrawClass::drawGrids()’:
source/src/qt/common/qt_gldraw.cpp:66:13: error: ‘class QGLFunctions’ has no member named ‘glEnableClientState’
source/src/qt/common/qt_gldraw.cpp:67:13: error: ‘class QGLFunctions’ has no member named ‘glVertexPointer’
source/src/qt/common/qt_gldraw.cpp:68:13: error: ‘class QGLFunctions’ has no member named ‘glDrawArrays’
source/src/qt/common/qt_gldraw.cpp:69:13: error: ‘class QGLFunctions’ has no member named ‘glDisableClientState’
source/src/qt/common/qt_gldraw.cpp:92:13: error: ‘class QGLFunctions’ has no member named ‘glEnableClientState’
source/src/qt/common/qt_gldraw.cpp:93:13: error: ‘class QGLFunctions’ has no member named ‘glVertexPointer’
source/src/qt/common/qt_gldraw.cpp:94:13: error: ‘class QGLFunctions’ has no member named ‘glDrawArrays’
source/src/qt/common/qt_gldraw.cpp:95:13: error: ‘class QGLFunctions’ has no member named ‘glDisableClientState’
仮想環境を作るんだったら、シングルコア・シングルスレッドCPU1個の設定で動くかどうかの確認も…… 需要は少ないかもしれませんが。

総レス数 1000
355 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200