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/

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個の設定で動くかどうかの確認も…… 需要は少ないかもしれませんが。

101 :Artane. ◆1o3c8RYIzjU0 :2015/08/02(日) 17:33:42.51 .net
>>100
状況報告ありがとうございます。
明日の夜まで相当忙しくなるので、対応はその後になるかも知れません。多分、Qt4.8で用意されてるメンバーの物を作り込む事になるでしょう。

しばしお待ちを。

102 :Artane. ◆1o3c8RYIzjU0 :2015/08/02(日) 21:18:43.81 .net
>>武田さん
 昨日の武田さん側のリリースでのFDC周りの件ですが、どうやら大丈夫そうです。今後、色々と動かしてチェックする必要が相変わらずありますが。

>>100
とりあえず、今さっきリリースしたのではどうでしょうか?
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20150802

バイナリは
https://www.sendspace.com/file/05ibq1
http://www1.axfc.net/u/3510889

MD5SUM: 3be7108385533498d480d55d5f8f2f03
中に入ってるChangeLogに書かれてる基にした武田さんリリースの日付が7/31になってますが、8/1です(githubでは直してある)。
これ、Qt5.4以降のAPIを使わずにビルドしてるので、Qt5.3以前の方は動くかどうかお試し下さいませm(_ _)m
シングルコアCPU環境でのテストは、今週後半以降。

103 :87:2015/08/02(日) 21:56:40.61 .net
>>102
source/src/qt/common/qt_glevents.cpp:12:25: fatal error: QOpenGLWidget: そのようなファイルやディレクトリはありません
で止まってしまいました。そこだけコメントアウトすればmakeは完了しました。

104 :Artane. ◆1o3c8RYIzjU0 :2015/08/02(日) 22:15:39.17 .net
>>103
ありがとうございます。
明日早くから1日大忙しになるので、対応は火曜位にしましので。申し訳ございませんです。

105 :武田 ◆bnZpPXJze51u :2015/08/03(月) 01:03:50.39 .net
>>102
ありがとうございます。
もう少し弄ると思いますので、大規模なチェックはお待ちください。

X1turboZの件、ありがとうございます。
まだZ用の画面モードのレンダラーが未実装なので、プロジェクトは
用意しているんですが、リリースはしてなかったりします(を

106 :ナイコンさん:2015/08/03(月) 10:13:43.89 .net
PCエミュ総合だからいいよね

X1でブランクテープを作成する際X millenium付属のmaketape.exeだと思うけど
64bit環境じゃ動かんのよね
みんなどう対処してるんだろ?

107 :ナイコンさん:2015/08/03(月) 12:58:40.26 .net
武田のdos playerで動かない?

108 :武田 ◆bnZpPXJze51u :2015/08/03(月) 23:13:53.07 .net
>>102
更新しました。
MB8877周りの修正はこれで一段落?

109 :ナイコンさん:2015/08/04(火) 05:14:59.38 .net
>>107
あ! なるほど
ありがとう
やってみるよ

110 :Artane. ◆1o3c8RYIzjU0 :2015/08/04(火) 12:48:23.73 .net
>>108
ありがとうございます。
昨日猛烈に忙しかった反動と、後はディスク設置やらなんやら本業やらやらないといけない作業がそこそこ残ってるので、
検証や取り込みに着手するまでには多少時間がかかりそうです。

111 :Artane. ◆1o3c8RYIzjU0 :2015/08/04(火) 13:19:14.46 .net
>>109
後、VirtualBoxやVMWareのような仮想マシン上にFreeDosを入れるという手法がありますよ。
http://www.freedos.org/
日本語化は微妙ですが…

112 :武田 ◆bnZpPXJze51u :2015/08/05(水) 00:53:20.89 .net
MB887周り、更に修正しました。
DRQのタイミングや、CRCエラーの挙動の再現性が向上しています。

113 :武田 ◆bnZpPXJze51u :2015/08/05(水) 01:27:17.65 .net
前スレだったか、X1のドームで、ユーザディスクのフォーマットが
正常に実行できないというご報告を頂いていたかと思います。

最近の修正で、MB887の再現性も大分と向上しているかと思いますので、
よろしければ追試お願いいたします。

#MZ-2500の勝手移植のソーサリアンとかイース3とかのために、
#かなり偏執的なレベルでタイミングの再現性を図ってます(を

#ライトトラックで、データフィールドなしのセクタを書き込むとかの
#変態プレイもサポートできている筈です。(未確認)

114 :ナイコンさん:2015/08/05(水) 02:47:40.13 .net
>>111
ありがとうございます。
MS-DOS Playerで無事出来ました。
そのまま仮想マシンを立ち上げることもなく直で出来る分、使い勝手が良かったです。



ところで、MS-DOS PlayerでX millenium付属のmaketape.exeを実行すると
Sampling rate(Hz)?8000Size (minits) ?
のようになり、8000入力Enter後で本来改行してあったと思ったけど、
改行周りの不具合ですかね?
記憶だから気のせいかも・・・
ちょうど出入りしてる武田氏の制作物でピンポイント解決とはワロタ
武田氏乙でしたw

115 :ナイコンさん:2015/08/05(水) 22:45:43.28 .net
>>113
eFM77AVのスクリーンショットみたら、タイトルが
「FUJITSU FM-77AV」になってるんだが…
FM-77までとFM77AV以降の機種名はちゃんと使い分けてほしいなぁ。

116 :Artane. ◆1o3c8RYIzjU0 :2015/08/05(水) 23:34:30.86 .net
>>113
お返事遅くなりました。
月曜日が恐ろしく忙しかったので、反動で消耗からなかなか抜けられておりません。
が、多分数日中には今までの変更を取り込んで試験していきますね。

117 :Artane. ◆1o3c8RYIzjU0 :2015/08/06(木) 23:27:43.90 .net
>>113
とりあえず、こちらでも8/5版を取り込みました。武田さん、お疲れ様です。
commit f98e6ac0bc324f554c79dc27ded20bc88d5c6f29

この変更には、
・GCC 5.1以降で用意されてるC++の新ABIについて、デフォルトでは無効にする設定
>>87 さんのご指摘での対応
・ホストCPUが「1スレッド1コア」もしくは「2スレッド1コア」である場合に固まってしまうことへの対応(>>100 関連)
も入れてあります。
今、バッチでビルドしてみています。

118 :武田 ◆bnZpPXJze51u :2015/08/07(金) 03:06:36.92 .net
>>117
お疲れ様です。
すみません、またMB8877を弄ってしまいました(苦笑)
今度こそ、これで一段落のはずです。

119 :Artane. ◆1o3c8RYIzjU0 :2015/08/08(土) 10:13:40.10 .net
>>118
お疲れ様です。

とりあえず、昨日作業されたところまでマージして、リリースをかけてみました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20150807

https://www.sendspace.com/file/d0mxxh
http://www1.axfc.net/u/3513885

MD5SUM : b25253f389193e74e5502512b36f85f9
SHA256SUM : 74042657c7b5fc91e86264e42a52ff976ddfea0107fbea2cfba9a71606471abc

テストの程をお願いします>皆様

120 :87:2015/08/08(土) 21:50:38.56 .net
>>119
とりあえず自分のVMwareゲストでmakeしてバイナリを実行。あんまりヘビーな使い方はしてませんが。
・以前はゲストのプロセッサコアの数が1だとすぐ応答無しになっていましたが、今はプロセッサコアの数が1でも動く。
あとは、以前も同様だったかもしれませんが、
・make中に warning: "USE_DEBUGGER" redefinedが多数出る。ほかにもwarningはあるけど。
・実行開始直後、端末に以下のような表示が出る。
QObject::connect: No such signal QMainWindow::closed() in (省略)/source/src/qt/gui/menu_main.cpp:327
QObject::connect: (sender name: 'MainWindow')
・emumsx1やemumsx2の表示サイズを640x480に設定して、タスクバー(という呼び方が適切かどうかは知りませんが)を右クリックして終了させるとSegmentation faultになりやすい?

121 :ナイコンさん:2015/08/08(土) 23:07:07.27 .net
ここらへんできいていいのだろうか?
dosboxでalinkを使うにはどうしたらいいんでしょうか?
nasm+alinkをdosboxの環境で使いたいのですが(使えるものだと思っていたのですが)
nasmはdos版でいけるがalinkは32版だと怒られる
RSXNT版という奴でやってみても怒られる
RSXNT(Cかなんかの高級言語コンパイラ?)っての自体を入れようとしても怒られる

122 :ナイコンさん:2015/08/09(日) 09:05:36.60 .net
>>121
alinkはWin32向けなのでdosboxじゃ動かないです。
dosbox上にWin95やDPMI+Win32コンソールエミュレータ系の特殊な環境を作れば、
動かせないことも無いのかも知れないけど、やる意味は無いと思う。

123 :Artane. ◆1o3c8RYIzjU0 :2015/08/09(日) 12:08:13.57 .net
>>118
やっとこさFD関連を見ることができていますが、殆どのFDイメージが読みだすものの、すぐにダメになってROM BASICが起動しちゃいますね。

124 :Artane. ◆1o3c8RYIzjU0 :2015/08/09(日) 13:08:53.47 .net
大体わかりました。
書き込み保護をしてあるディスクを読んだ時のステータス返信に問題があったようです。
commit 56338f1abc3fdc13c30b3f3aaf57a1889181566a にて。

125 :ナイコンさん:2015/08/09(日) 14:51:41.36 .net
久しぶりに eFM7/77/77AV の 8月8日版を触ってみたが、
>>123 の症状で全く先へ進めず。
触る気失せるよ...
あいかわらずフレームレート低いし。

126 :ナイコンさん:2015/08/09(日) 14:59:14.09 .net
無理に触らなくてもいいんじゃない?

127 :武田 ◆bnZpPXJze51u :2015/08/09(日) 18:08:44.50 .net
>>124
おおう、すみません(汗
ステータス周り弄ってるときにデグレしちゃってました。
今晩か明晩あたりのリリースで修正します。

128 :武田 ◆bnZpPXJze51u :2015/08/09(日) 18:36:06.13 .net
晩飯前に時間があったので、さくっと修正しました(を

129 :ナイコンさん:2015/08/09(日) 19:34:28.00 .net
パンがなければlnk563.exeを使えばいいじゃない

130 :ナイコンさん:2015/08/09(日) 19:43:37.75 .net
>>100
仮想環境と言えば、コモンソース内でコモンソースをビルドできる環境は作れるのだろうか?

131 :ナイコンさん:2015/08/09(日) 19:50:54.83 .net
>>129
wlink万能説

132 :ナイコンさん:2015/08/09(日) 23:38:28.39 .net
>>125
C2Dのマシン程度でも60FPSでとるがその環境だけなのではw
環境や状況の詳細でも報告しない限り今後改善はされる事は無いだろ

133 :ナイコンさん:2015/08/10(月) 01:16:50.19 .net
環境が報告されても、そいつのために同じ環境を用意してまで直してくれるかね!?

134 :ナイコンさん:2015/08/10(月) 01:31:21.03 .net
とりあえず486機でも実装して、それで動かしてみれば切り分けできないだろうか?

135 :ナイコンさん:2015/08/10(月) 02:15:19.71 .net
そういえばダイナブックのエミュってあるのだろうか?
アランケイ版も見てみたい気はするけど。

136 :ナイコンさん:2015/08/10(月) 02:51:45.71 .net
DynaBook SS433って、J-3100シリーズじゃないんだな。
まあSSじゃ初代と紛らわしいけれど。

137 :Artane. ◆1o3c8RYIzjU0 :2015/08/10(月) 05:20:25.53 .net
>>125
とりあえず、動かしている環境晒して見て頂けますか?
マシンとOS。
仮想化環境ならば、ホストOSと割り当てているCPUの数や使用割合も。
で、仮想化環境だと、動作速度が落ちる傾向があるようですね。

138 :Artane. ◆1o3c8RYIzjU0 :2015/08/10(月) 05:22:02.31 .net
>>133
可能ならば、やります。
新しいマシンを云々とかVirtualBox以外の仮想化環境は無理ですが。
で、晒して貰えば、問題解決の手掛かりにはなりますから。

139 :Artane. ◆1o3c8RYIzjU0 :2015/08/10(月) 05:29:51.56 .net
>>120
とりあえず、今ビルド中ですが、
>>119
>・make中に warning: "USE_DEBUGGER" redefinedが多数出る。ほかにもwarningはあるけど。
これは、CMAKE版だとCMAKEからデバッガの有無を設定出来るようにしているので起こっている事なので
…解決にはしばしのお時間を頂きたいです(根こそぎソースに書き加えないといけないので)

>・実行開始直後、端末に以下のような表示が出る。
QObject::connect: No such signal QMainWindow::closed() in (省略

直しました。存在しないシグナルを指定していたので…

>・emumsx1やemumsx2の表示サイズを640x480に設定して、(以下略)

多分、直せています。理論的には問題解決出来て、色々弄ってもcore吐かなく出来たので。
厳しいテストを出来ていないので、あくまで「多分」という事になってしまっていますが。

140 :Artane. ◆1o3c8RYIzjU0 :2015/08/10(月) 15:21:14.37 .net
とりあえずリリース
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20150810

http://www1.axfc.net/u/3509882
https://www.sendspace.com/file/m7a5de
MD5SUM: b73ebd1791b86a7e2bd2b1d568265ace
SHA256SUM: 93740b9ae80f60ecce2f927d0a18f93be7753ff3d1fc6c488f9dd98ae6dfdaf5

141 :Artane. ◆1o3c8RYIzjU0 :2015/08/10(月) 15:23:18.82 .net
ごめんなさい、 >>140 に掲示したバイナリを間違えてた、こちらが正しいです m(_ _)m
Note: Linux AMD64 and Windows 32bit Binaries are below:
http://www1.axfc.net/u/3515176
https://www.sendspace.com/file/xcyxti

Filename : CSP_BUILD_20150810.7z
MD5SUM : 92e9b56ce7bffcd2e17a3b7c463cdde0
SHA256SUM : 9bf8c40dfc8e996edbf60ce75866037854ab7e0384d4a711f56e112dbfed8f51

142 :ナイコンさん:2015/08/10(月) 19:58:28.39 .net
>>138
ありがとう。
OS は Windows7 Home Premium SP1 32bit。
タブレットなんで CPU は非力な Atom だけど、他の Common Source
エミュ(ePC8801MA,XM8,BML3MK5)は問題なく動いてる。

気を取り直して 8月9日版バイナリを動かしてみた。
ちゃんとフロッピーイメージをマウントできて起動するようになった。
eFM7/eFM77/eFM77AV で FM-77 の DEMO の完走を確認できた。
以前よりfpsは早くなってるが、それでも10fps前後。
ただし、FM-77 デモ のうち、DEMO6 だけは 40fps 出る。
フルF-BASICと思われる DEMO5 は 10fps なので不思議。
eFM7/77/77AV はメインCPUとサブCPUのコミュニケーションで足を
引っ張り合ってるような気がするんだけど...

あと eFM77AV で F-BASIC V3.3 L10、OS-9 Level2(AV用)が
起動できない。以前のバージョンは起動できたんだけど。
MMR が変なのかと思って OS-9 Level 2(FM-77用)を試したら
起動できたので、詳細不明。深追いしてない。
OS-9 Level 1は、eFM7/77/77AV で起動OK。遅い以外は問題なし。

143 :ナイコンさん:2015/08/10(月) 20:43:53.19 .net
フレームレート低下回避とSSEが無い古いマシンでも動くよテスト(Win32)
これで行けるならワロス
7と77avしか作っとらんが

ttp://www1.axfc.net/u/3515323/6809

144 :ナイコンさん:2015/08/10(月) 21:55:26.89 .net
武田さんが書いた履歴にMr.Sean Yongってあるんだけど、Sean Youngじゃないのかなあ。Mr.かどうかは知らんけど。

145 :Artane. ◆1o3c8RYIzjU0 :2015/08/10(月) 22:33:42.78 .net
>>142
環境ありがとうございます。

Windows7 + Atomタブレットですか…コンパイラがマルチスレッドにしてくれるのを前提にして書いてる辺りになにかあるのかもしれないですね。
どちらにせよ、サブとメインの同期モデルの問題があるとは思ってるのですが…
同期を取るタイミングをスマートにできるといいのですが、そうすると今度は動かないソフトが出てきてしまう。


>あと eFM77AV で F-BASIC V3.3 L10、OS-9 Level2(AV用)が
>起動できない。以前のバージョンは起動できたんだけど。
>MMR が変なのかと思って OS-9 Level 2(FM-77用)を試したら
>起動できたので、詳細不明。深追いしてない。

現物がないのでこちらでは現状対応が難しいですね…AV用がダメで77用が上手く行ったというのが、引っかかる。

>>143
試しました。
結構いいですね。
フレームレート低下回避の方法ってどんな感じでしょうか?

146 :武田 ◆bnZpPXJze51u :2015/08/10(月) 22:51:36.99 .net
CPUのクロックを動的に変更するためにダミーCPUを噛ましてますが、
run(int clock)に対して1クロックしか進めないのは細かすぎるかも、
という気がします。

動かないソフトが出ない範囲でもう少し大きくしてもいいかもしれません。

147 :ナイコンさん:2015/08/11(火) 00:26:20.28 .net
>>142
あと、FM77AV DEMO もだめでした。起動しません。
以前のバージョンは起動はしてました。(完走しませんでしたが)

148 :ナイコンさん:2015/08/11(火) 01:16:09.89 .net
サイクルスチール?

149 :87:2015/08/11(火) 01:37:03.93 .net
>>139
自分のVMwareゲスト(Debian)でmakeしてバイナリを実行。直したという部分は大丈夫っぽいです。
さて、新たな注文ですが、Screen Sizeの選択肢に関して。
・emumsx1でStretch ModeがDot by DotやKeep Aspectの場合に640x400にすると両脇に黒帯が出るのが気になる。
・ウインドウ表示の場合はWindow x1やWindow x2などのほうが良いのではないかと。アスペクト比の調整の有無が切り替えできるのは、それはそれで良いかもしれませんが。

150 :ナイコンさん:2015/08/11(火) 02:09:17.19 .net
void func()しててreturn func();してるのが気になるw
今時はそれがデフォなんじゃろか

151 :Artane. ◆1o3c8RYIzjU0 :2015/08/11(火) 11:45:33.17 .net
>>146
対処してみました。要は、dummycpuのクロックを問題が出ない範囲で低くすることで、
メイン/サブCPUが通常状態で2クロック/1 d_cpu[1|2]->run()動くようにしてみたのですが
…これが、現状で・要はevent.cppに手を突っ込まない上で「正しい」対処方法かどうかは今ひとつ自信が持ててない。
commit b388dc62ee0713554979d249d0ce977905ff483a です。

>>147
私の持っている77AVのデモは完走します。違うヴァージョンのものがあるのでしょうかね。

>>149
>・emumsx1でStretch ModeがDot by DotやKeep Aspectの場合に640x400にすると両脇に黒帯が出るのが気になる。
これは、元々そういうポリシーで敢えて作りこんでるので…今時の大抵のディスプレイのドット比は1:1ですが、
昔のそれはブラウン管の縦横比が4:3な影響で大抵が1:1.33だったりするので…その辺りを再現したいなというのがありまして。

>・ウインドウ表示の場合はWindow x1やWindow x2などのほうが良いのではないかと。アスペクト比の調整の有無が切り替えできるのは、それはそれで良いかもしれませんが。
拡大方式にWindow x0.5〜x4辺りを追加するというのはアリかも知れないですね。
フルスクリーン表示については、当面出来ないかなと思ってます(どういう風にメニューバーを処理するかを考えないといけないので)

152 :Artane. ◆1o3c8RYIzjU0 :2015/08/11(火) 13:40:07.15 .net
とりあえず、これで速度の方はどうでしょうか?

http://www1.axfc.net/u/3515699
MD5: 808efed2e1d35600282f30a81d77647c
SHA256: e006c98cffab3d72e2dc4514eb4f490b213036c7c57a5e7c7a991a2a4e8b463d

>>149
一寸考えなおして、「アスペクト比に応じてウィンドウの大きさを変える」
「倍率は(横基準で)0.5~8.0くらいまで(MSXなんかのように横256とかだと10.0くらいあってもいいかな?)0.5刻みで」
と言う方向で書きなおしてみます。時間がかかりそうですが…

153 :ナイコンさん:2015/08/11(火) 20:37:45.14 .net
ちなみに、武田さんのところのMSX1は512x384で画面を作ってますよ
MSX2のほうは周辺領域込みなので、さらに中途半端なサイズですね

154 :ナイコンさん:2015/08/11(火) 21:41:58.51 .net
>>151
ESXi上のFreeBSD 10.1-RELEASE-p16でfm77avのbuildをやってみました
clangだとエラーが出てしまい、考えるのも面倒だったので、とりあえずgcc 4.8.5でのbuildです
結果としてはFM77AVのDEMOは完走です
左下に表示されてるフレームレートも、概ね60fpsでたまに48fps程度まで下がることがある程度でした

155 :ナイコンさん:2015/08/12(水) 02:27:28.33 .net
>>152
さっそく試してみた。
フレームレートはかなり改善された。
(1) FM-77 DEMO実行結果
   eFM7 eFM77 eFM77AV
DEMO1 ○  ○  ○
DEMO2 △#1 △#1 △#1
DEMO3 ○  ○  ○
DEMO4 ○  ○  ○
DEMO5 ○  ○  ○
DEMO6 △#2 △#2 △#2
○を付けたものでも、たまにフレームレートが1桁まで落ちることがある。
フレームレートが落ちる場所は、動かす度に異なる。(一定していない、という
ことは、MAINとSUBの非同期絡み?)
#1 DEMO2 に入った直後に、MAINとSUBでデッドロックする事がある。
動きが滑らかでない。(表示される弾の数が少ない。)
  ターゲットの#がずれて表示される事がある。
#2 音楽が先に終わってしまう。(FM-7の実機でもそうなるが、ちょっと早すぎ。
  eFM-77/eFM77AVでSUBのサイクルスチールが効いてない?)
(2) eFM77AV 起動テスト
F-BASIC V3.0 L2.0    ○
F-BASIC V3.3 L10    × MAIN FDC DRQ/IRQ待ち(永久?)
OS-9 Level 2 for FM-77 ○
OS-9 Level 2 for FM77AV × 起動プロセス中にSUBシステム暴走
FM77AV DEMO       × 起動プロセス中にSUBシステム暴走
こちらはまだ深追いできてない。

156 :ナイコンさん:2015/08/12(水) 02:40:49.55 .net
ところで、FM-7/77/77AVって、
メインCPUとサブCPUの原発振って共通の 16.128MHz を使ってるので、
そんなに頑張って非同期対策しなくてもいいのでは?
(ただし、FM-7のメインCPUの速度を落とした時を除く)

あと、FM-77/77AV系の1.6MHzはどうやって作ってるか不明だけど、
少なくとも原発振は専用のものはないので、WAIT入れて作ってるのかな?

157 :Artane. ◆1o3c8RYIzjU0 :2015/08/12(水) 12:25:16.49 .net
>>155
FM-77のデモは私もテストしたいのですが、実家のどこかにあって未だ捜せてないのです_| ̄|○
実家遠いし…

Demo-2というと時間制限付きで遊べるデルフィスでしたっけ?テープ版や打ち込み版ではその問題が出ていないのが非常に引っかかりますね(´・ω・`)


>>156
確かにそうかも知れないですね。
只、非同期前提で書かないとややこしい事になりそうで。
これは、フレームワークとの相性的な部分で悩まされた事でもあります。
結局、非同期という事で書かないと問題が起こるというか。

FM-77のデモでのロックアップが相当気になりますねー。
もし可能なら、メインとサブのデバッガを起動して、
それぞれ止まっている前後の逆アセンブルとレジスタダンプを貼り付けて頂けると大きなヒントになるかも知れないので、お願いしますm(_ _)m

158 :Artane. ◆1o3c8RYIzjU0 :2015/08/12(水) 12:29:21.61 .net
>>157
ついしん。
OS-9L2に関しては現物が手元にも実家にもないので、同じように逆アセンブル等や
メイン側の$FD18〜20と$FD80〜9Fのダンプを頂けると解決出来るかも知れないです。
出来ないかも知れない。

159 :Artane. ◆1o3c8RYIzjU0 :2015/08/12(水) 13:10:13.31 .net
連投すいません。
eFM77AVではイニシエータROMに全くパッチを当てない方針なので、
仮にAV20/40のイニシエータROMを使ってる場合、機種判別でコケることがありえます。
特に、AV20/40系固有の機能を使うか使わないかをイニシエータROMにあるIDで判断してる場合、
多分100%の確率で暴走します。
とりあえず、eFM77AV40の登場をお待ちください>皆様

160 :ナイコンさん:2015/08/12(水) 21:44:37.19 .net
フレームワークがダメなんじゃない?

161 :ナイコンさん:2015/08/13(木) 00:53:26.85 .net
しかし国産AT互換機のエミュってありそうでないよな
まあ末期のワープロとかは難しいだろうけど、有名どころすら差異がなかったことにされてる気が

162 :Artane. ◆1o3c8RYIzjU0 :2015/08/13(木) 02:31:40.38 .net
>>161
そういえば、マハー○ーシャのパソコンのBIOSには何やら仕掛けがあったと訊きましたが…

163 :ナイコンさん:2015/08/13(木) 10:09:58.37 .net
eFP-1100

BASICからcasファイルでセーブして、その読み込みが出来ませんね。
wavだとOKです。

164 :ナイコンさん:2015/08/14(金) 02:21:40.35 .net
ふと思ったけど2ドライブのアクセスランプが緑色だと88等の2HD使用時とややこしいですね。

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

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