5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

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

PCエミュレーター統合スレッド Part7 [転載禁止]©2ch.net

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

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

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

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

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

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

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

直しました。
commit e3e0193f87c238c23c2f8c95e8bcbdbe38415d3e です。

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

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

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

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

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

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

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

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

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

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

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

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

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

14 :ナイコンさん:2015/05/19(火) 22:33:46.87
あぁ、やっと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
あ、コテつけ忘れた(^_^;
>>14は私ね。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

42 :Artane. ◆1o3c8RYIzjU0 :2015/06/20(土) 13:26:13.74
更に連投します 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
と言う事で、ウィルススキャナを怒らせないビルドを作りました(;´Д`)
幾つか問題点を解消してあります。
今回Windowsのみ。
http://www1.axfc.net/u/3490030

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

57 :Artane. ◆1o3c8RYIzjU0 :2015/06/25(木) 22:38:25.12
今日、武田さんがアップデートしたのを反映しましたヽ(´ー`)ノ
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
連投すいません。
業務連絡で忘れていました。
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
更新乙です

60 :ナイコンさん:2015/06/27(土) 08:33:14.48
>>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
>>60
それがあるんですよ、奥さん!
某ワープロソフトがここら辺使って機種判別か何かやってるんですよね、これが。

62 :ナイコンさん:2015/06/27(土) 12:52:51.01
>>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
書き込み見直したら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
>>58
更新いたしました。
2015/6/27までのcomiitsが取り込まれています。

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

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

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

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

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

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

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

70 :Artane. ◆1o3c8RYIzjU0 :2015/07/23(木) 20:56:44.42
えっと、リリースかけました。
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
お疲れ様です。
最近多忙すぎて全然対応できなくて申し訳ないです。
XM8も更新されましたし、なるたけ早めに取り込みたいと思います。

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

72 :Artane. ◆1o3c8RYIzjU0 :2015/07/24(金) 01:02:14.13
既知の問題点に追加:
・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
>スターウォーズ風の 字幕?

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

74 :Artane. ◆1o3c8RYIzjU0 :2015/07/25(土) 13:44:57.61
>>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
とりあえず、>>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
[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
>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
>>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
>>76
ペンディングの件、了解です。
mb68vh010に関しては、FM16βでも使われてますので、その時にでもご検討下さいませ。

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

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

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

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

自己中心派については、オプションで速度を変更するのではなく、
自動判定で処理を切り替えるようにしました。
フラグとして、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
>このとき、トラックレジスタは、IDのCとの比較のみ行います。

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

83 :Artane. ◆1o3c8RYIzjU0 :2015/08/01(土) 04:27:34.60
スレ違いで(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
X1turboのTHE MAN I LOVEが起動するようになりました

85 :ナイコンさん:2015/08/01(土) 14:29:17.45
>>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
>>81-82
とりあえず大まかに見てみましたが、問題はなさそうです(が、もっとテストしないと良いか悪いか判断ができない改変なので判断保留)。
既に、昨晩作業していたリリースにある仮想マシンに関しては、Debian+Qtではビルドできる状態までマージしました。
今、Windows側(VS2015)をやり始めてます。

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

87 :ナイコンさん:2015/08/01(土) 21:59:30.73
#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
>>87
Include元はどのファイルですか?
こちらで書いたのの問題かどうかちょっと確かめてみます。

89 :ナイコンさん:2015/08/01(土) 23:16:04.25
>>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
>>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
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
>>87
>>91
状況はわかりました。
ディスクの空きを作って仮想環境にStableのDebianを入れるのに時間下さい。
可能であれば、5.3基準で組み直して見ます。
来週半ばにディスク買う予定です(どちらにせよ別件で使っているのが逼迫してるので)ので、最悪そのタイミングになるかも知れないのでが。

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

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

95 :ナイコンさん:2015/08/02(日) 03:42:41.92
>>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
>>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
後、業務連絡です>武田さん
eX1TurboZのアイコンですが、どうやら違ってるようなので…ZのつかないX1Turboのアイコンが使われているようです。

98 :ナイコンさん:2015/08/02(日) 13:13:55.48
>>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
>>98
ありがとうございます。

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

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

100 :87,89,91:2015/08/02(日) 15:23:28.45
>>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
>>100
状況報告ありがとうございます。
明日の夜まで相当忙しくなるので、対応はその後になるかも知れません。多分、Qt4.8で用意されてるメンバーの物を作り込む事になるでしょう。

しばしお待ちを。

102 :Artane. ◆1o3c8RYIzjU0 :2015/08/02(日) 21:18:43.81
>>武田さん
 昨日の武田さん側のリリースでの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
>>102
source/src/qt/common/qt_glevents.cpp:12:25: fatal error: QOpenGLWidget: そのようなファイルやディレクトリはありません
で止まってしまいました。そこだけコメントアウトすればmakeは完了しました。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

117 :Artane. ◆1o3c8RYIzjU0 :2015/08/06(木) 23:27:43.90
>>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
>>117
お疲れ様です。
すみません、またMB8877を弄ってしまいました(苦笑)
今度こそ、これで一段落のはずです。

119 :Artane. ◆1o3c8RYIzjU0 :2015/08/08(土) 10:13:40.10
>>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
>>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
ここらへんできいていいのだろうか?
dosboxでalinkを使うにはどうしたらいいんでしょうか?
nasm+alinkをdosboxの環境で使いたいのですが(使えるものだと思っていたのですが)
nasmはdos版でいけるがalinkは32版だと怒られる
RSXNT版という奴でやってみても怒られる
RSXNT(Cかなんかの高級言語コンパイラ?)っての自体を入れようとしても怒られる

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

139 :Artane. ◆1o3c8RYIzjU0 :2015/08/10(月) 05:29:51.56
>>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
とりあえずリリース
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
ごめんなさい、 >>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
>>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
フレームレート低下回避とSSEが無い古いマシンでも動くよテスト(Win32)
これで行けるならワロス
7と77avしか作っとらんが

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

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

145 :Artane. ◆1o3c8RYIzjU0 :2015/08/10(月) 22:33:42.78
>>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
CPUのクロックを動的に変更するためにダミーCPUを噛ましてますが、
run(int clock)に対して1クロックしか進めないのは細かすぎるかも、
という気がします。

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

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

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

149 :87:2015/08/11(火) 01:37:03.93
>>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
void func()しててreturn func();してるのが気になるw
今時はそれがデフォなんじゃろか

151 :Artane. ◆1o3c8RYIzjU0 :2015/08/11(火) 11:45:33.17
>>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
とりあえず、これで速度の方はどうでしょうか?

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
ちなみに、武田さんのところのMSX1は512x384で画面を作ってますよ
MSX2のほうは周辺領域込みなので、さらに中途半端なサイズですね

154 :ナイコンさん:2015/08/11(火) 21:41:58.51
>>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
>>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
ところで、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
>>155
FM-77のデモは私もテストしたいのですが、実家のどこかにあって未だ捜せてないのです_| ̄|○
実家遠いし…

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


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

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

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

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

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

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

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

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

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

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

165 :ナイコンさん:2015/08/14(金) 14:43:46.87
>>135
> ダイナブックのエミュってあるのだろうか?
> アランケイ版も見てみたい

暫定ダイナブック環境(1978年版)ならこちらで動かせます。
ジョブズが観てパクった版に近いUIがWebアプリプラットフォーム上に再現されています。
http://lively-web.org/users/bert/Smalltalk-78.html

使い方がわからない人向けにお薦めしたいのが
このエミュを使って作られた、アラン・ケイ自身によるプレゼンムービー。
https://www.youtube.com/watch?v=AnrlSqtpOkw&t=3m52s

こんなデモを1979年に観てたら、ジョブズならずも未来のPCはこうなると確信するはず。

166 :ナイコンさん:2015/08/15(土) 13:04:39.80
age

167 :ナイコンさん:2015/08/15(土) 17:26:20.98
>>165
78年にここまでの物があったとは!!

168 :ナイコンさん:2015/08/15(土) 17:47:12.26
>>167
PC史におけるまさにオーパーツ的存在ですね。

169 :ナイコンさん:2015/08/15(土) 19:08:46.77
PCじゃないような気がする

170 :ナイコンさん:2015/08/15(土) 19:09:40.85
オーパーツなんじゃなくて今のPcがその構想に追いついてないだけ

171 :ナイコンさん:2015/08/15(土) 20:49:45.84
>>169
> PCじゃないような気が

そうですか?

このバージョンの暫定ダイナブックOS(Smalltalk-78)は、よく知られたAltoではなく
8088を搭載したNoteTakerというれっきとしたポータブルPC上で動作していたもので、
くだんのWebアプリでもこのNoteTakerのエミュ上で動いています。

http://www.forbes.com/pictures/eiml45gfk/the-xerox-notetaker-portable-computer/

172 :Artane. ◆1o3c8RYIzjU0 :2015/08/17(月) 01:15:12.12
eFM77AV。
デ○フォー○が(たぶん)動くようになりました。
問題は2つあって、
・ディスクのトラックの大きさが6250バイトでは足らない。
 これは、要は時分秒IDのセクタ2つで不安定データを読み込むついでに意味のあるデータを書き込んであった上に
 それ以外にも一部のトラックが18セクタありまして、サイズが足らなくなってたんですよね。
 とりあえず、このディスクだけの特殊現象というように書いてありますが、この手のプロテクトは少なくなかった気がするので…
 commit b5b06a88cd0ac895a0ea43b8d7d3aea844076366

・割込タイミングの問題で、オープニングで固まることが二分の一以上の確率で起こってた。
 多分、正常化出来たと思いますが、繰り返しテストを重ねないと確定できないです。
 commit 3ec5ad9bdd06de94e0a8eb0eb2d46c7fe9b18910 。

173 :ナイコンさん:2015/08/17(月) 01:33:58.23
>>170
追いついてなくはないですよ。
LinuxデスクトップとかOLPCとかは一つの結実点ではあるんですよね。
普通になってるネット辞書やネット検索は、膨大なデータベースとして開かれてはいる。
OLPC辺りがやってる事業は、多分後10年もしない内に予想外の国や地域から凄腕の技術者集団を輩出するでしょうね。
その国からか、それとも留学先のアメリカや中国からかはわからないですが。

どちらかというと、それらを使う側の考えとか文化とかが追いついてない感じがしますが。

これは学校教育とか文化が悪い所があるんだけど、どうしてもコンピュータやネットに使われる方に人々を導いてしまう。

174 :武田 ◆bnZpPXJze51u :2015/08/17(月) 18:52:24.10
>>172
あー、ディスクの回転数落としてフォーマットした口でしょうか。

自動的にトラック長を上げる仕組みを用意できればいいのですが、
Nの値に細工して、見かけのセクタ長を長くするパターン
(MZ-2500の九玉伝とか)もあって、難しいんですよね(苦笑)

#一部筋からのご要望で、現在小ネタの実装中です。
#もう1週間くらいで出来るかなーと思います。

175 :ナイコンさん:2015/08/18(火) 13:22:14.09
小ネタの実装ということはFM-Xだと予想w

176 :ナイコンさん:2015/08/18(火) 15:17:32.95
キーボードエンコーダーとか?

177 :ナイコンさん:2015/08/18(火) 17:56:12.69
犯罪者は口をつぐんでしね

178 :ナイコンさん:2015/08/19(水) 09:17:30.40
どこの誤爆だ?

179 :ナイコンさん:2015/08/19(水) 12:33:34.56
ちょうどFM-7が話題に上がってるし
武田氏がネタとして仕込んどきましたとしてFM-X接続とかさ

180 :ナイコンさん:2015/08/19(水) 13:48:01.45
FM-XってネタとしてはL4とかAV20EX程度はあるんじゃないの?
小ネタというならリレーサウンドとか赤外線ワイヤレス対応辺りが面白いかな?
結局nキーロールって再現できるんだっけ?

181 :ナイコンさん:2015/08/19(水) 14:11:51.38
G.I.M.I.CとかのFM音源対応とか
ラズパイ用とか
IchigoJam+Pancakeとか

182 :ナイコンさん:2015/08/19(水) 15:15:02.80
音源ならジョイスティック端子に繋ぐSDカードリーダをエミュレーションしよう。
原理的にはBASICからでも大容量ディスクに読み書き可能な筈だけど、そんな二階から目薬は聞いたことがないね。

183 :Artane. ◆1o3c8RYIzjU0 :2015/08/19(水) 15:29:48.11
とりあえず、DMACは実装出来ましたが(eFM77AV40での読み込みのみ確認)、2DD関連が上手く行かないですね(;´Д`)

幾つか動かなくなったソフトも出てるし(リ◯イバーとか◯玉伝とか結構広範囲だから、何となくエンバグっぽい)(;´Д`)

後、サイ◯◯レードはディスク読む速度を早くしないとデモと音楽の同期がダメで、多分ぎゃ◯自己と似たことをしないといけない。
後で、ディスク識別(5枚!)を入れますね(;´Д`)

184 :Artane. ◆1o3c8RYIzjU0 :2015/08/19(水) 15:31:44.78
>>182
それ、興味深いですね。
アドレスとかありますか?(多分何もやらないですが)

185 :Artane. ◆1o3c8RYIzjU0 :2015/08/19(水) 15:34:01.68
>>180
理論上は再現出来るようにはしてありますが、真面目に確認してないです(^_^;)
2キーまでは確実。
多分、3キーか4キーは行けてる筈です(テストコード書いてなくて手持ちデータでやってるだけなんで微妙)

186 :Artane. ◆1o3c8RYIzjU0 :2015/08/19(水) 15:37:34.99
>>176
れいの隠しコマンド、インプリメントしたいのですが、文章と何を押せばいいのかを忘れてしまってます。
原文転載は無理でも、どこかの雑誌の何号にあるよー。だけでも教えて頂けると、有り難いです。
近いうちにその筋の雑誌を所蔵してる図書館に行けそうですので。

187 :ナイコンさん:2015/08/19(水) 15:52:54.73
>>184
あれ?知らない?
ttp://www.markn.org/blog/2008/07/sd1.html
この辺とか?

188 :Artane. ◆1o3c8RYIzjU0 :2015/08/19(水) 16:01:14.64
>>187
初めて知りました。
こんなゆかいな物があったとは…ありがとうございますm(.. )m

189 :Artane. ◆1o3c8RYIzjU0 :2015/08/19(水) 19:07:12.15
Twitterで>>186 関連の書き込みとスクショがあったので、勢いでやってみた(゜∀゜)・∵.グハッ!!
間隔とかいい加減で、ブザーは未実装ですが。

http://i.imgur.com/i9KIBo8.jpg
commit 0e23895c70a58a8ce0667bde8ec40da307fad665

190 :Artane. ◆1o3c8RYIzjU0 :2015/08/19(水) 19:09:19.70
>>189 コミットを間違えてました(;´Д`)
こちら。
>commit de8cc20e97cea9f9c47562aa6c086638ac8a9800
>[TOY][VM][FM77AV][KEYBOARD] Add hidden message.

191 :武田 ◆bnZpPXJze51u :2015/08/20(木) 04:35:43.27
>>175,179
そんな美味しい大ネタではないです(汗
FM-7もFM-Xも実機はあるけど、接続I/Fもソフトも確保できてないし。

小ネタというのはこっちです。
http://homepage3.nifty.com/takeda-toshiya/00tmp/150820-1.png

192 :ナイコンさん:2015/08/20(木) 12:44:08.58
>>191
小ネタというより、しっかりしたネタじゃないですか(笑)

193 :ナイコンさん:2015/08/20(木) 12:44:21.26
なんだ、つまらん

194 :ナイコンさん:2015/08/20(木) 19:15:11.17
つまれ!

195 :武田 ◆bnZpPXJze51u :2015/08/21(金) 00:58:07.32
SMC-777、リリースしました。

基本的にWinSMC用に吸い出したデータを使いまわせますが、
ディスクイメージについて注意事項を。

WinSMCの*.1dd形式は、基本的には*.d88と同じフォーマットですが、
トラックオフセットのテーブル部分が異なっています。
d88では、トラック0の表、裏、1の表、裏、とオフセットが並びますが、
SMC-777は片面ドライブなので、トラック0の表、1の表、2の表、
といった感じで裏面を飛ばしてオフセットが並んでいます。

この辺りの補正は、拡張子が*.1ddであるときにのみ有効となります。

196 :ナイコンさん:2015/08/21(金) 07:02:45.33
内部10進での倍々精度演算できるん?

197 :ナイコンさん:2015/08/22(土) 02:57:02.88
>>195
1DDフォーマット、ヘッダ0x001bの値は何に設定したんですか?
現在の定義上、0x00:2D、0x10:2DD、0x20:2HDまでですよね。
片面定義を示すビットを決めといて、
たとえば0x40:1D、0x50:1DD、0x60:8インチの片面メディア(仮に1HDとしとく)
ってしとくとルール化できて良いんじゃ。

198 :武田 ◆bnZpPXJze51u :2015/08/22(土) 09:39:01.57
拡張子が1DDのときは、ヘッダの値に関係なく2DDとみなしてます。

単に片面がアンフォーマットなだけの2D/2DDだと思っておけば、
特に面倒なことを考えなくてもいいかなーと。

199 :ナイコンさん:2015/08/22(土) 10:00:25.95
まだいたのか犯罪者

200 :ナイコンさん:2015/08/22(土) 14:06:47.20
自己紹介乙?

201 :武田 ◆bnZpPXJze51u :2015/08/22(土) 17:25:54.22
>Artane.さん
ファイルパスを渡す処理において、引数にconstを付けるようにしました。
大した修正ではないですが、とにかくファイル数が多いです。
全マージかけるときにご迷惑おかけします、申し訳ないです。

202 :ナイコンさん:2015/08/22(土) 19:21:59.01
2chが嫌いなら読まなければいいのに、
愚痴だけたたきに来る奴は頭の構造がおかしいんだろうな。

203 :ナイコンさん:2015/08/22(土) 22:14:58.74
1DDと片面アンフォーマットの2DDが一緒とか、マジないわ〜

204 :武田 ◆bnZpPXJze51u :2015/08/22(土) 22:59:52.52
>Artane.さん
MB8877のトラックを>>1する処理ですが、他機種で悪影響があったので
いったんRevirtします。

205 :197:2015/08/23(日) 05:03:36.04
>>198
んーと、新たに片面メディア用の定義をせず、
片面アンフォーマットの2D/2DDを1D/1DDと見なす形で実装するのであれば、

「トラックオフセットテーブルを1トラックおきに設定する」
形がベターなんじゃないかと思う。
(ヘッダ1側、つまり偶数トラックのオフセットを0にしとく)
これなら、形式上、既存の2D/2DD/2HDとは下位互換を保つことが出来る。

実装上で問題あるとしたら既存の(別の)エミュレータで
D88形式のトラックオフセットテーブルで0を認識すると
トラックデータはそこまでと判断する仕組みになっている可能性が強いことかな。
この場合それ以降のトラックを認識できなくなるので、
これはエミュ側で対応すべき点だと思う。

複数機種のエミュレータを共通ソースで作ってる武田氏の場合
特にこういった考慮はしておく必要あるよね。

206 :197:2015/08/23(日) 07:24:17.80
>>205
ボケミスした…orz
×偶数トラックのオフセットを0にしとく
×奇数トラックのオフセットを0にしとく

> これはエミュ側で対応すべき点だと思う。
これについては以前、
・0x02b0でないディスクヘッダのイメージによるヘッダ誤認識の件
が挙がった際、
・トラック0のオフセットアドレスまでをオフセットテーブル範囲と認識する
形にしようって挙がったと思うけど、
その形で実装出来ていれば問題ないはず。

ただしそれ以前の実装との互換性を考慮して
・オフセット0認識時、オフセットテーブル終了と判断
このロジックを残していた場合、問題が出る。

207 :ナイコンさん:2015/08/23(日) 08:01:36.22
>>204
細かくてすまんけど、revertじゃなくて?

208 :武田 ◆bnZpPXJze51u :2015/08/23(日) 10:38:43.51
>>206
>「トラックオフセットテーブルを1トラックおきに設定する」
> 形がベターなんじゃないかと思う。
> (ヘッダ1側、つまり奇数トラックのオフセットを0にしとく)
>これなら、形式上、既存の2D/2DD/2HDとは下位互換を保つことが出来る。

そうですね、勿論それが前提になります。

ただ、WinSMC用の*.1ddに関しては、現状をあるがままに受け入れて、
ヘッダのメディア情報は無視するし、トラックのオフセットも
各トラックの表が連続しているものとして読み書きしています。

eSMC-777とWinSMCを相互に利用することもあるでしょうし、
何より以前の古いD88イメージを壊しちゃった事件で、
いらんことをするのはやっぱりあかんな、と懲りました(苦笑)

>>207
あー、間違って覚えてしまって、しょっちゅう間違うんですよ。
年取ると記憶の上書きできなくてあかんですね。

209 :ナイコンさん:2015/08/23(日) 11:03:58.35
年取ると犯罪しても平気になるの?

210 :ナイコンさん:2015/08/23(日) 11:05:51.73
上位互換はメジャー化しないと意味がないよな
所詮SSE2マシン相手なんだから起動時に毎回変換したって一瞬だろう。

211 :ナイコンさん:2015/08/23(日) 11:42:21.91
24時間スレに張り付いて監視してんのか?

212 :ナイコンさん:2015/08/23(日) 12:00:23.54
>>208
あぁ…理解。

既存のエミュである「WinSMC」で採用している"1dd"フォーマットが、
「ヘッダ0のみのトラックが連続している形式」なので、
eSMC-777では「拡張子"1dd"の場合にWinSMC形式と判断する」
形で実装したのね?

で、且つ
「拡張子"1dd"以外だった場合はreplyのようなD88下位互換とする」
形で実装しようと考えているのかな。

それなら納得!

213 :ナイコンさん:2015/08/23(日) 12:58:05.61
現状でも標準フォーマット以外だとイメージ破壊される事があるよw

214 :Artane. ◆1o3c8RYIzjU0 :2015/08/23(日) 18:52:10.49
>>201
わかりましたー(^^)
こちらで抱えてる問題をある程度解決できたらとりかかりますね。

>>204
こちらも了解しました。
とりあえず、77AV20/40系だけに適用するように変えますね(と言うか、昨日の夜だか今日の未明だかに一応はそう変えたと思うので、チェックお願いします。)

215 :武田 ◆bnZpPXJze51u :2015/08/23(日) 19:09:26.70
>>213
あー、べたイメージを、元フォーマットと異なる物理フォーマットすると、
確かにまずいですね。
そういうシチュエーションはあまり無さそうですが、対応を考えます。

他に何か問題になりそうなケースはありますでしょうか?

216 :ナイコンさん:2015/08/23(日) 21:06:37.83
でも又何か言うとそんな事は無いとか言われるしなw

217 :ナイコンさん:2015/08/23(日) 23:11:53.44
そう思うんだったら、黙って立ち去ればいいんじゃないかな?

218 :Artane. ◆1o3c8RYIzjU0 :2015/08/23(日) 23:24:15.75
>>213
とりあえず再現可能かどうか調べられれば調べるので、エミュ名とソフト名晒して下さい。
後、どういう操作をしたら壊れたか、覚えてる範囲で構わないので詳しく。

219 :ナイコンさん:2015/08/24(月) 21:31:59.03
そもそもソース読まないとセットアップすらよくわからない投棄物って多いよな。
大文字小文字区別するfsだと結構嵌ったり。

220 :武田 ◆bnZpPXJze51u :2015/08/24(月) 22:22:11.84
>>213
ベタイメージを、元と異なる物理フォーマットした場合、D88で保存するようにしました。
片面のベタイメージを保存するのに失敗する問題を修正しました。
ついでに、片面のimd形式の読み込みに失敗する問題を修正しました。

他に何か問題がございましたらお知らせください。

>>219
ドキュメントの不備については御免なさいです。
誰か書いてください(苦笑)

いや冗談でなく。
こんだけ機種が増えると、一人じゃドキュメント整備に手が回らないです。

221 :197=212:2015/08/24(月) 23:37:13.92
>>208
>ヘッダ1側、つまり奇数トラックのオフセットを0にしとく
このシーケンスで問題出るようであれば、
「奇数トラックのオフセットを次偶数トラックのオフセットと同値にしておく」
というのでもいいかもしれない。

要は次トラックのオフセットとの差が0バイトになるから、該当トラックが0バイト=トラック無し、を示すのね。
既存の処理構造にもよるけど、こっちの方がD88下位互換としては通じるかもしれない。
オフセット0が間に入らないからEOD判断されない。
懸念点は、最終トラックオフセットが偶数トラックになって、奇数トラックに0を埋めることになることか。

222 :ナイコンさん:2015/08/27(木) 22:17:48.56
サイリックスのエミュとかないのかな?

223 :ナイコンさん:2015/08/27(木) 23:46:50.48
upd765のエミュレーションがおかしい気がする
書き込み後のResult Phaseで返ってくる値とか

あとPC6001.CPPの146行目、IG_I8255_PORT_AとあるけどPORT_Bではなかろうか

224 :ナイコンさん:2015/08/28(金) 13:23:00.51
JR-100キタキタ
環境全部 .prgだわ・・・

225 :ナイコンさん:2015/08/28(金) 16:08:19.80
223は武田さん宛です。1行目が消えてしまった。
書き込み後、ST1に変な値が返ってきたんだけど気のせいかも
88のBASICでは問題ないんだよなぁ

追加で不具合報告
・Z80のE7hの逆汗がRST 04hになっている。正しくはRST 20h

226 :武田 ◆bnZpPXJze51u :2015/08/31(月) 06:12:49.62
ご指摘多謝多謝です。

RST 0h/8h/10h/18h...と書くか、RST 0/1/2/3/4...と書くかは
流儀次第みたいですが、ザイログ標準は0/1/2/3/4...みたいです。

PC-6601の件はご指摘の通りです、今までよく動いてたな(汗

uPD765Aについては保留とさせてください。
色々な機種にあわせて弄ってきた果てが現状なので、
ちょっと弄りにくいです。

227 :ナイコンさん:2015/09/06(日) 23:22:57.49
eFM7/eFM77/eFM77AVちょっとみてみた。

PSG+OPN+WHG+THGの組み合わせだけど、
Sound配下で全組み合わせから選ぶのは冗長すぎる。
OPNなしでWHGやTHG使うとか、
確かに選択は可能で無ければならないが常識的には選ばない組み合わせが
普通にOPN+WHGと同列に並んでいるのは違和感バリバリ。
あのメニュー方式を厳守するのであれば
 PSG
 PSG+OPN
 PSG+OPN+WHG
 PSG+OPN+WHG+THG
の4種(eFM77AVなら上記からPSG+を除いた4種)以外に存在価値はないと思う。
※PSG+OPN+THG(eFM77AVならOPN+THG)はComrade HG拡張版EDPLAYo3でなら使用可能だけど、
 わざわざその組み合わせを選ぶくらいならOPN+WHGを選ぶ。EDSSM2o(音源ディスプレイね)対応してるし。

各項目が独立して選択可能であることを重視するのであれば、
Control - Cycle Stealみたく、
・OPN / WHG / THGの左にチェック入る形
の方がいいよ。
eFM77AVなら
・WHG / THGの左にチェック入る形
ね。
GUIメニュー上だけの問題だと思うからすぐ直せるはず。
あと、細かいようだがFMシリーズなのに、何故FD1/FD2?FD0/FD1が正だよね?

228 :ナイコンさん:2015/09/07(月) 03:16:47.09
っていうか実際のカード増設に準拠すればいいのでは?
構成を変えると有効デバイスにチェックが入る的な

229 :ナイコンさん:2015/09/07(月) 06:44:17.68
しかし互換ROMって何らかの入力が可能な様にした版ってないものかな?
簡易モニタを追加するパッチとかってありそうで見ないよな。

230 :ナイコンさん:2015/09/07(月) 07:13:24.42
eX1/turbo
tapファイル使えると思ってたらセーブは出来ないのね・・・あらま

231 :227:2015/09/07(月) 21:40:08.15
>>228
OPNはFM音源カードもしくはAV以降で標準搭載されているOPNのこと。
WHGとTHGはFM音源カードを改造(ピン切断+クロス接続)してI/Oアドレスをずらし、
OPNと共存可能にしたもの。

実際のカードに準拠というなら、後半部に記述した
「左にチェック入る形」
がベストだね。

232 :Artane. ◆1o3c8RYIzjU0 :2015/09/08(火) 02:04:37.66
>>231
別件対応(エミュとは全く関係ない)でばたばたしてるので、そこらへんが落ち着いたらその方向で行きますねヽ(´ー`)ノ

233 :ナイコンさん:2015/09/10(木) 22:13:42.60
>>113
eX1(Vista later 9/9/2015)で試した。結果はフォーマット反映されず(ディスクイメージに何も変化がない)

ちなみにHuBASIC付属フォーマットツールでフォーマット実行直後はフォーマットが反映されず、
ディスクを一旦イジェクトでフォーマットが反映されるのは仕様?

全般的にディスクの速度が遅いような、HuBASIC起動に30秒かかる(当方win10)

234 :ナイコンさん:2015/09/11(金) 00:07:01.81
あぁ、それでトラック書き込みした後すぐ読み込むと失敗って出るのか。
イメージ壊されてからはからずっと使ってないが。

235 :ナイコンさん:2015/09/12(土) 15:09:24.20
http://sourceforge.net/p/bluemsx/code/HEAD/tree/trunk/blueMSX/changes.txt

blueMSXの2.9.0が出たみたいなんだがどこでバイナリ落とせる?

236 :ナイコンさん:2015/09/12(土) 16:12:16.12
うげ、今度はeX1turboがAvast!のウイルスに引っかかって起動できなくなった・・・

237 :ナイコンさん:2015/09/13(日) 05:09:38.70
>>236
Avast(笑)って良くレスされるくらい誤爆で有名だから仕方ない感じだね
除外リストに登録でいいんじゃね

238 :ナイコンさん:2015/09/14(月) 09:48:47.16
Avastてウィルスだったのかw

239 :武田 ◆bnZpPXJze51u :2015/09/15(火) 01:39:04.42
物理フォーマット周りは後日見直してみます。

イメージファイルに反映されるのはイジェクト時か終了時ですが、
オンメモリでは直ぐに反映されている筈なんだけどなあ。
物理フォーマットして、システムディスクをセクタコピーして
システムディスク作成とか出来てたような気がするし。

240 :武田 ◆bnZpPXJze51u :2015/09/15(火) 01:52:40.75
ディスクの速度ですが、セクターの読み書きの速度そのものは、
ディスクのトラック長と回転数から算出しているので、概ね正確です。

問題は、リードライトのコマンドが発行されたときのヘッド位置から
セクタが発見されるまでの時間の算出かと思います。
現在の実装では、IDフィールドのSYNCより前にヘッドがないと、
もう一周回転してからアクセスするようになっていますが、
実際はID ADDRESS MARKの直前まで大丈夫なんじゃないかなーと、

(ディスクイメージがスキューファクターを再現できているか、
という問題も勿論あるのですが)

241 :ナイコンさん:2015/09/15(火) 02:11:39.91
FM-77の3.5フロッピーのゲームを吸い出ししたいんだけど
どうやるのか優しく教えてください。

242 :ナイコンさん:2015/09/15(火) 06:28:30.56
>>241
3.5フロッピーをBIOSで認識できるマシンならDOSで起動してDITT使えば出来るよ

243 :ナイコンさん:2015/09/15(火) 07:21:11.12
>>242
DITTはFDCのI/Oに直接アクセスするのでBIOSのレガシーエミュレーションでアクセス出来てもUSB-FDDはダメです。

244 :ナイコンさん:2015/09/15(火) 09:06:47.50
レガシーエミュレーションが何かさっぱり出来ないお子様の模様

245 :ナイコンさん:2015/09/15(火) 12:13:06.26
DITTとはなんでしょうか?

246 :ナイコンさん:2015/09/15(火) 12:48:57.50
同上

247 :ナイコンさん:2015/09/15(火) 15:27:33.45
>>245
http://retropc.net/cisc/m88/dl/Ditt150.lzh

248 :ナイコンさん:2015/09/16(水) 04:25:44.86
そもそもタイミングをイメージデータとして持てばテープだろうがCDだろうが
単一形式化できないものかな?

249 :ナイコンさん:2015/09/17(木) 11:27:11.90
>>248
正確に読めない事を利用した不安定プロテクトとか有るから全ては無理だな

250 :ナイコンさん:2015/09/17(木) 19:22:08.13
>>249
正確に読めないということはズレてる訳だから、それが検出できる精度で記録すればいいのだろうか?

251 :ナイコンさん:2015/09/17(木) 21:41:50.13
物理的なランダム性のエミュレートだろうな

252 :ナイコンさん:2015/09/18(金) 01:58:34.30
1つ前のスレッドで、プリンタ部分をDLL化するとかいうネタがあったけど
32bitのDLLにしてしまうと64bitのEXEやLinuxネイティブバイナリからは使えないよね
openMSXではTclを使って色々出来るみたいだけど、LuaでもSquirrelでもいいから組み込んで
外部のスクリプトファイルを読み込むとかで何かうまいこと処理できないもんかな

253 :ナイコンさん:2015/09/19(土) 03:55:51.46
っていうか、別プログラム起動でパイプなりソケットで渡すとなんか問題あるの?

254 :ナイコンさん:2015/09/19(土) 20:24:25.96
>>250
検出出来ちゃったら不安定では無いことになるから話が違うぞ

255 :ナイコンさん:2015/09/19(土) 20:29:10.33
>>253
別プログラムの場合、複数のエミュレータを同時起動させたときのことを考えると面倒じゃないかなあと思ったんだけど
最低限「切断」と「接続」を切り替えできるようにしておけばいいのかな
2つのエミュレータでそれぞれ別々に印刷できる仕様ならば「切断」/「プリンタ1と接続」/「プリンタ2と接続」な感じ?

256 :ナイコンさん:2015/09/20(日) 00:16:00.33
むしろケーブルのエミュレータがあればいいのかもしれないな。
端子から端子へ丸投げする只のエコーサーバ的な。

257 :Artane. ◆1o3c8RYIzjU0 :2015/09/20(日) 14:21:16.56
色々バタバタしててちょっとストップしてます。連休後半再開予定。

>>256
UnixのFIFOのように汎用性の高い(リダイレクトしたり双方向通信出来る)ネームドパイプって、Windowsにありましたっけ?
確かにRS-232CやMIDIやプリンターの実装をやるモチベーションにはなるので。

258 :Artane. ◆1o3c8RYIzjU0 :2015/09/20(日) 14:24:20.08
>>255
FIFO作る所までがエミュレータの責任で、そのFIFOに読み書きしてエミュレータと通信するのは何でもいい。とか。

こうすると、ダム端末エミュレータからエミュレータと通信出来るし、なんかのプログラムと繋いで印刷イメージをレンダリングしたりしてプリントアウトするのもやりやすくなる。

259 :ナイコンさん:2015/09/20(日) 16:18:50.84
汎用というとUSB?
仮想USBドライバの作り方とかは知らないけど。

260 :ナイコンさん:2015/09/20(日) 17:01:46.38
usbipとかが利用できれば面白そうなんだけど、
まともな成功例が見当たらないから改造が必要かもな。

261 :ナイコンさん:2015/09/20(日) 17:46:16.32
>>258
emu_oldpcA.exeとemu_oldpcB.exeが両方走っている時にemu_printerZ.exeを起動させたら
printerZはoldpcAとoldpcB、どっちと接続すればいいのかという問題が出てくるのではないかと。
(DLLみたいに同じプロセス内で動くんだったら関係ない話なんですが。)

同時に2つのoldpcと繋がってしまう、は発生しない仕様として。
先に起動したoldpcでしかプリンタが使えないとか、起動順に依存するのは使い勝手が悪い気がします。

ということで、別プログラムにする場合は\\.\pipe\emu_ptrcable1だの\\.\pipe\emu_ptrcable2だのを
oldpcとprinterそれぞれのプロセスからユーザーが任意のタイミングで(または、Resetのタイミングで一緒に)
CreateだかOpenだかCloseできるようにするのがいいのかな?と。
Windowsの名前付きパイプでうまい具合に実装できるかどうかは知りませんけど。


と思ったけど、起動順に依存するのであれば「emu_oldpcA.exeは\\.\pipe\emu_ptrcable1に繋がってるよ」
「emu_oldpcB.exeは\\.\pipe\emu_ptrcable2に繋がってるよ」というのが容易に判別できれば済むという
ことですかね。あとはprinterのほうだけ起動時に接続制御すれば良い、と。
(oldpcの電源を後から入れるような周辺機器や、oldpc同士の通信を考えるとまた別の話になりますが。)

262 :Artane. ◆1o3c8RYIzjU0 :2015/09/20(日) 22:47:26.77
>>261
Unix系だと、mktempなどでプロセスIDなどをベースとした、
一見ランダムな名前の一時ファイルを作れるので、それとmkfifoでパイプを作るのを組み合わせて、
プロセスユニークなパイプが作れます。

それを、何らかのシステムコール(多少考えてる)でファイル名読み出して、
その名前をパイプの向こう側のプログラムの引数かなんかに指定してプログラムをexecすれば…
とゆう感じがいいかな。と。
もう少し高度なIPC手順を乗せてもいいですが。

その辺りは、少し実装考えてみますね。
Unix依存も良くないからどうしようかなとは思いますが。

263 :Artane. ◆1o3c8RYIzjU0 :2015/09/20(日) 22:51:19.65
後、エミュレータ同士を繋ぐなら、どちらを先に立ち上げてもいいように、
エミュ1⇄パイプ1⇄ソケット接続するサーバー、クライアント?⇄パイプ2⇄エミュ2
みたくするとか。
UPnPの機構みたいのがあるといいのかもですが…そこまでやるべきかどうか。

264 :Artane. ◆1o3c8RYIzjU0 :2015/09/20(日) 22:56:01.14
>>252
tclとかpythonのインタプリタ(可能ならば流通してるライブラリーも使えるようにする)やそれをエミュレータと接続するためのバインド系を組み込むとかですかね?
そこまで行くと複数プログラム間で共通のライブラリーにしないと膨らむなぁ…(;´Д`)
今ですら、gccだとリンク時最適化しないとデカいのでどうしよう…(;´Д`)

265 :ナイコンさん:2015/09/21(月) 01:27:53.26
>>264
・バイナリに内蔵で固定の処理ではなく、処理内容を柔軟に変更可能 開発ツールでの再ビルド不要
・プラットフォームに依存しない作りに出来る
という利点がスクリプトにはあるんですけど、プロセス間通信(またはDLL等)でやると決めたら
スクリプト無しでいいですよね
というわけで、以下の話は余談。周辺機器以外にも利用価値があるはずなので一応。

数年前、VC++で作ったプログラムでテキストボックスに入力したスクリプトを処理できるように
Luaのソースを無変更でほぼ丸ごと組み込んだときはバイナリのサイズが150KBほど増えてたかな……
数十個のバイナリそれぞれに組み込んだら無駄が多いかもしれない
やっぱりLua部分だけDLLみたいな別バイナリにするべき?
あるいは、プリンタエミュレータのEXEにLuaを組み込むという手法もあり? EXEが一種類だけで済むかも?
別に、Luaじゃなくてもいいんですけど。

あと、GPLと混ぜて大丈夫なライセンスのスクリプトかどうかもチェックしないと駄目ですよね。

266 :ナイコンさん:2015/09/21(月) 01:33:30.45
マクロならアセンブラでよくね?

267 :ナイコンさん:2015/09/21(月) 22:22:18.25
メインルーチンやメニュー辺りを丸ごとスクリプト化したらエミュレータツクールができるんだろうか?
MIND辺りで書かれてたらちょっと面白いかも?

268 :Artane. ◆1o3c8RYIzjU0 :2015/09/23(水) 15:20:48.44
>>266
一から起こすのはとても面倒臭いじゃないですか(・∀・)

269 :Artane. ◆1o3c8RYIzjU0 :2015/09/23(水) 15:24:46.77
>>267
エミュレーション機械ごとに#ifdefで区切られてる辺りを、変数で分岐するように組み替える、とんでもない手間とスタブ付けが必要になりますが、
スケジューラーはそれが出来るようにはなってますね。
VM初期化段階でなんかのスクリプト言語でスケジューラーに仮想デバイスを宣言していくというのは、多分出来るんじやないかな(当面はやらんですが)

270 :ナイコンさん:2015/09/23(水) 17:53:11.90
ある意味、武田さんのプロジェクトは
「自分でソースをビルドしたりC++のソースを理解や改造できる人向けのエミュレータツクール」
に近い存在じゃないのかな。

自分でソースをビルドする必要がない物に関して言えば、
vdmgr:www.geocities.jp/g_lsluk/vdmgr.html
モジュールさえあれば、iniファイルの記述次第で色んなハードウェア構成を実現できるらしい。

あと、MAMEやMESSはエミュレーション対象によらず共通バイナリだから、動的にハードウェアを
構成してるんだよね? 新しい構成を作るにはソースを変更する必要があるんだろうけど。

271 :Artane. ◆1o3c8RYIzjU0 :2015/09/26(土) 03:12:49.16
とりあえず、武田さんの9/23版をマージして、その他色々やったのをアップロードしました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20150926

FM77AV40/EXもほぼ動くところまで持ち込みましたが、SXの入門ディスクの描画に問題がある所があります。
後、キーボードエンコーダの隠しメッセージを早い段階で実装してますが、その反面、相変わらずリアルタイムキースキャンには難があります。
まだまだ問題含みではありますが。

272 :武田 ◆bnZpPXJze51u :2015/09/26(土) 11:19:30.88
お疲れ様です。

こちらの作業もそろそろ一段落つきそうですので、
適当なタイミングで取り込ませていただきます。

273 :ナイコンさん:2015/09/26(土) 15:44:27.62
よっ犯罪者
息してたか?

274 :ナイコンさん:2015/09/27(日) 10:31:16.15
ePC-9801VM/Doってディスク読み込みます?

275 :ナイコンさん:2015/09/27(日) 15:34:53.07
>>274
読み込むよ。
本当のVM0(初期型)またはDO(DO+はNG)のBIOSじゃないとダメよ。
ちなみにMESS向けのはCRC違いの別物。こっちはもしかしたらVM21系のかもね。

276 :ナイコンさん:2015/09/28(月) 05:05:29.36
つーかBIOSってなにが違う訳?
エプソン機が載せようとして揉めたって話だから基本的には互換あるのかと思ってた。

277 :ナイコンさん:2015/09/28(月) 11:15:12.32
>>275
VM2やVM4じゃダメなのけ?
まぁ、どのみちDXから抜いたと思うけど

278 :武田 ◆bnZpPXJze51u :2015/09/29(火) 01:27:52.85
>>271
SNAPSHOT_20150926までの変更を取り込みました。
FM77AV40とFM77AV40EXが追加ということでよろしかったでしょうか?

>>277
VM2ならいけると思います。

>>276
同じPC-9801といっても、ハード的には各機種別物だったりします。
載ってるCPUも色々だし、ディスク周りも2DDのみ/2HDのみ/両対応とか、
ノートの様に電源周りなどの特殊仕様もあったりとか。
で、ハードが違えば初期化の仕方も操作の仕方も千差万別でして。

そういった違いを、各機種ごとにカスタマイズされたBIOSが頑張って
吸収してくれるから、ソフトから見たら全部同じPC-9801だったという話。

279 :武田 ◆bnZpPXJze51u :2015/09/29(火) 01:30:13.61
>>277
補足すると、UやVFのBIOSでもいけます。

#いや、普通の人はそんな不遇機持ってないって(苦笑)

280 :武田 ◆bnZpPXJze51u :2015/09/29(火) 03:48:41.79
>>271
あー某女史に指摘されてるなあ(苦笑)
私がビルドしたeFM77AV40/EXのメニューの件は明晩にでも修正します。

#新機種追加するたびに、resource.hの修正を忘れてしまう(苦笑)

281 :ナイコンさん:2015/09/29(火) 10:29:34.38
ハードは別物別物ってよく言うけどさあ、本当に別物でBIOSで互換取れるんだったら、
抜いちゃダメボード移植してBIOS書き換えてこれが新しい98ですとか誰かやってると思うなあ。

282 :ナイコンさん:2015/09/29(火) 10:55:36.92
BIOS書き換えたら何でも出来るとお考えか?

283 :Artane. ◆1o3c8RYIzjU0 :2015/09/29(火) 17:01:49.07
>>278
はい。AV40と40EXです。
ありがとうございます。

>>280
よろしくお願いします。

284 :ナイコンさん:2015/09/30(水) 06:55:15.46
>>279
一番なじみのある98が友達の家のVFなんですぜ・・・w
X1(俺)、88、MSX、98のユーザー同士で各家巡回して
あぁ、懐かしい・・・
その頃、時代的に巡回先でベーマガのプログラム10行交代とかで入力してましたからねぇ
その後、自分はDXだけどほとんどX68使ってましたw

あ、U・・・UX21ならそこに転がってるんですけどね・・・

285 :ナイコンさん:2015/09/30(水) 06:56:29.97
ちなみにVMも持ってたけど、VFの友達にあげました

286 :ナイコンさん:2015/09/30(水) 15:50:46.62
つーか、未実装機能の初期化でコケてるだけなら、適当にNOPで潰せば抜けられないものだろうか?

そういえばFMには逆に旧機種ROMで動かす力技があったけど、あれは使えてるのかな?

287 :ナイコンさん:2015/09/30(水) 16:44:50.34
>>223
ぱっと見ST3は違ってるし書き込み失敗する事もあるからどっかおかしいな

288 :ナイコンさん:2015/09/30(水) 20:38:44.04
>>732
魚さんに頑張ってもらって妹経由で情報流してもらうしかないな。

289 :ナイコンさん:2015/09/30(水) 20:48:21.62
猫さんでも姉でも使えるものはなんでも使おう

290 :Artane. ◆1o3c8RYIzjU0 :2015/10/01(木) 14:28:37.42
昨日、なんとか、PX7を除く全ての仮想マシンをQtに移植しました。
PX7は、どういう形でバックの映像表示を実装するか考えないといけないので、優先度低くしてます。申し訳ない。
で、cppcheckでコードチェックして修正したら、77AV40系がビミョーなことになりました(;´Д`)
今日明日は別件(複数)で殆ど時間が潰される上に、

XM8がWindows XPで初期化に失敗してるのをなんとか出来ないかという話があって、ソースコード見ないと
拙そうな状況に追い込まれたので、その後になるかも…と言うか、SDL_Joystickの初期化に失敗した
時のフォールバックが実装されてないんですよね、XM8。
SDL_JoystickがXP(ひょっとしたらVista以前)でなんで初期化に失敗するかも謎だし…

291 :Artane. ◆1o3c8RYIzjU0 :2015/10/01(木) 14:33:51.11
余談:
PX7,libavを直接叩くと面倒くさくてしかもlibavはAPIが頻繁に変わる邪悪さなので、
Qt::MultimediaかGstreamerで実装します(;´Д`)
これから、お勉強しないといけないけどその前にやることが沢山ある(;´Д`)

292 :ナイコンさん:2015/10/01(木) 19:24:59.59
wineにお任せとかってできないの?

293 :Artane. ◆1o3c8RYIzjU0 :2015/10/01(木) 19:30:13.82
>>292
ところがですねー、WineでXM8動かすと同じ事起こるんですよ奥さん(´・ω・`)
で、CSPの方に関しては、まぁ、私がLinuxで殆ど廻してるので(´・ω・`)

と言うか、Windowsは仮想化マシンでしか使わんのですよ(´・ω・`)
どうも、Linuxと較べて融通が効かない気がするので使う気が余り起きない(´・ω・`)
もう、23年位Linux使ってるから…

294 :ナイコンさん:2015/10/01(木) 19:39:37.96
エミュでなく、ライブラリとしてのwineってどうなのかな?

295 :ナイコンさん:2015/10/01(木) 19:44:17.41
>>290
XM8の1.40がXPで動かないという問題は、VisualStudio2013で
ttp://blogs.msdn.com/b/jpvsblog/archive/2013/04/17/visual-studio-2012-windows-xp-visual-c.aspx
と同じことをするか、EXEファイルのヘッダを書き換えてMajorSubsystemVersionのあたりを6から5に変更
すれば済む話ではないかと思いますですじゃが、ジョイスティック部分にも問題あり?

296 :ナイコンさん:2015/10/01(木) 20:19:44.92
そういえばwin3.1版HSP1.1をwineで動かして見たんだけどコンパイルができないんで
おかしいなと思って単体起動させようとしたらスプリプトコンパイラがDOSアプリだった。
dosbox使えと言ってくるのを無視してmsdos.exe経由で起動させたら今度はコンパイルできた、便利だなあこれ。
デモプログラムは擬似スプライトで箱が動いてるんだけど、確かにスクリプトでもなんか作れそうな期待がもてる感じだなこれは。

297 :Artane. ◆1o3c8RYIzjU0 :2015/10/29(木) 19:23:46.30
お久しぶりです。
とりあえずリリースしてみました。武田さんの10/27版ベース。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20151029-1
今回、↑からリンクしてるバイナリは、GNU/Linux (AMD64)向けのみです。(Windowsを年末以降に買うまではWindows版を出せないかも…)

FM-7〜AV40EXまで、殆ど動くようになりました(自信がない)。
FM7系にもステートセーブが追加されました。
Qt固有の機能も拡充して、ドキュメントをプログラムに組み込んだりしました。
まだまだ色々やるべきことはありますが、FM-7系についてはここまで(GITのログを見たら去年の12/30に着手してる…)なんとか来たな。と言う感慨が。

298 :ナイコンさん:2015/10/30(金) 11:52:09.83
windows版よりむしろwine版でいいからsse無し検証用バイナリが欲しい所

299 :Artane. ◆1o3c8RYIzjU0 :2015/10/30(金) 13:45:23.85
>>298
Windows8のお試し期間がもうすぐ終わってしまうので、8か売ってなければ10の正規品を購入する予定(は未定)
とりあえず、FM-7系だけSSEなしでビルドしてみますね。しばしお待ちを。
# しかし、SSEが使えないマシンってどのくらいあるのでしょうかね。
# 今時のスティックPCですらSSE2は標準だった気が。

300 :ナイコンさん:2015/10/30(金) 15:56:59.52
SSE使わなきゃ非x86の展開もありえるのかな?

301 :Artane. ◆1o3c8RYIzjU0 :2015/10/30(金) 15:57:36.76
>>298
とりあえず、FM-7/77/AV/AV40EXだけビルドしました。SSEなしで。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20151029-1 から。
只、右シフトが個別に認識されない問題が解決できてません(上流との兼ね合いで右シフトをシフトと見做してる上に空きキーがないので)

302 :Artane. ◆1o3c8RYIzjU0 :2015/10/30(金) 16:00:23.64
>>300
とりあえず、GUIがQtでよければ、ARMなどでも(必要があればNEONのようなSIMD付きで)ビルドできるはずですよ。試してないけど。

303 :武田 ◆bnZpPXJze51u :2015/10/31(土) 01:03:28.15
>>297
お疲れ様です。
今晩のリリースで10/29までのコミットを取り込みました。

Paste機能が壊れていたのを修正したのと、
vm->key_down/up()に、VK_SHIFTでなくVK_LSHIFT/VK_RSHIFTを
通知できるようにする仕組みを追加しました。

#define NOTIFY_KEY_DOWN_LR_SHIFT

が宣言されていると、VK_LSHIFT/VK_RSHIFTが通知されます。
宣言されていないと、従来通りVK_SHIFTが通知されます。
VK_CONTROLやVK_MENUも同じ要領で左右の区別が可能です。

304 :ナイコンさん:2015/10/31(土) 04:47:41.27
>>302
いや、俺はいいですw
SSEなしだとそうのもあるのかなと・・・
ラズパイのビルドあったら興味ありますけど

305 :Artane. ◆1o3c8RYIzjU0 :2015/11/06(金) 03:10:50.28
>>303
お疲れ様です。
対処ありがとうございました。
こちらで組み込んで確認しましたが大丈夫そうです。

306 :Artane. ◆1o3c8RYIzjU0 :2015/11/06(金) 03:15:00.04
で、またリリース掛けました。
http://www1.axfc.net/u/3561759
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20151105

Windowsでも、mingwとQtでビルドできるようにしました。多くのVMが未だビルド出来ないというか、型定義の問題で処置が必要な状況ではありますが…

描画周りを相当書きなおして、GLSLでレンダリングしたりするようにしました(と言うのも、WindowsのOpenGL関連が色々問題があったのでう)。
今回は、Windows版Qtをバンドルしたので異常に大きくなってます。
今後は、Qtはバンドルしない方向にしたい…

307 :ナイコンさん:2015/11/06(金) 20:58:45.45
>>306
Win32-Qtのバイナリ、うちではダメみたいです。
libs.for.CSP.with.QtWindows.7zの中身を全部展開してexeと同じフォルダに置いてexeを実行してみたら
>This application failed to start because it could not find or load the Qt platform plugin "windows".

>Reinstalling the application may fix this problem.

>This application has requested the Runtime to terminate it in an unusual way.
>Please contact the application's support team for more information.
でした。
exeだけ入ったフォルダで実行してみたら
>コンピューターに Qt5Core.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。
なので、dllの置き場所が間違っているわけではなさそうです。

308 :Artane. ◆1o3c8RYIzjU0 :2015/11/06(金) 22:09:34.33
>>307
んー、やっぱり、横着しないでttp://qt.io からQt5.5.1のコミュニティ版をインストールして貰って、付属のコンソールから起動して貰わないとダメかも知れないですね。

パッケージングするいい方法を探さないと…昨日公開したのはキーコードの問題もありますし、暫しお待ちを。
それとも、スタティックリンクするか…

309 :ナイコンさん:2015/11/07(土) 01:57:48.56
─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◇TXFAX7cidQpG

コンソールってこれじゃダメですか?

310 :Artane. ◆1o3c8RYIzjU0 :2015/11/15(日) 04:16:09.22
又、リリース掛けました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20151114
今回、Windows(MinGW32)版はQtで必要なものだけバンドルしてあります。
Windows10では動くのですが、WindowsXPだとVCのランタイムとの相性で動かない可能性があります (@_@)
画面が出ない人は、ドキュメントのTIPSを参考にしてみてください。

311 :umaiboux:2015/11/15(日) 20:55:50.31
>>310
MSX1とMSX2、Windows7の64bitで起動しました。XPでは起動しませんでした。
とりあえず気付いた点だけ書いておきます。
・Copy/Pasteが動作してない。
・MSX1を起動すると、描画領域の右に余分な領域がくっついている。Screen Size x1の場合は500ドット以上余分。MSX2のほうは、起動時に余分な領域が表示されて一瞬で消えている?
・MSX2の色がおかしい:v99x8.cppの72行目あたりで色の定義を勝手に決めているのが原因でしょうか。だとすれば私のせいですスミマセン。
・Altキーを押すと、時々メニューバーのほうが反応してしまって仮想マシンに入力されない?

あと、動作には関係ありませんが、HELP→AboutのtanamさんのところにはMSX1も書いておいて下さい。
私も一部ソースの修正やブログへのコメントはしましたが、最初にMSX1を動かしたのはtanamさんです。
むしろ、「(c)tanamはMSX1とMSX2の両方、(c)umaibouxはMSX2だけ」でもおかしくないかもしれません。

312 :Artane. ◆1o3c8RYIzjU0 :2015/11/15(日) 22:05:58.21
>>311
ありがとうございます!

・Copy/Pasteの問題は、一応認識していて未だ動いてない。と言うのが現状です。とりあえずクリップボードからエミュへの取り込みはできてるので、もう少しイジっていきます。
・余計な領域に関しても、要修正ということで一旦先延ばしにしていましたが認識してます。
 画面の大きさを大きくすると消えるのではありますが、多分下のステータス表示欄がわるさしてる。
・色に関しては、これから確認します。
・右AltはQtの側が先に取ってしまってるので…左Altはどうでしょうか?

Creditsに関しては、修正します。
後、XP対策はちょっと考えていきます。

313 :umaiboux:2015/11/15(日) 23:34:52.15
>>312
右Altも左Altも同じ現象のようです。
ちょっと訂正。
単独でAltを押下すると、仮想マシンに押下が反映されます。そのままAltを放すと、メニューが反応します。なので、それ以降のキー入力が仮想マシンに反映されません。再びAltを押下して放せば元に戻ります。
Altを押下した状態で他のキーを押下してから、どちらかのキーを放せば大丈夫?

314 :Artane. ◆1o3c8RYIzjU0 :2015/11/18(水) 03:02:57.96
又リリースしました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20151117

>>311>>313で指摘されてた問題に関しては、ほぼ解決できたと思います(但し、AUTO KEYで貼り付けると何故か小文字になっちゃう問題が積み残しで確認済み)
XPでも、大抵は動くようになってるはずです。ひょっとしたらダメなのがあるかも。と言う所までは持ち込めました。

とりあえず、おやすみなさい m(_ _)m

315 :umaiboux:2015/11/18(水) 21:52:00.64
>>314
MSX1とMSX2を試しました。Windows7の64bit、およびXPで特に問題なく起動しました。
私の不具合も含めて全部修正されているみたいですね。ありがとうございます。
Copy/Paste、MSX1とMSX2では半角アルファベットの大文字と小文字はきちんと区別されています。ただし、改行は無視されます。
ちなみに武田さんのバイナリだと、2015/10/27版では改行が無視されます。2015/10/31版では改行が反映されます。

ファイルをオープンするようなダイアログでキー入力した場合、20151114版ではダイアログの操作になったけど20151117版では仮想マシンへのキー入力になる。という違いがありますね。

316 :武田 ◆bnZpPXJze51u :2015/11/18(水) 23:33:22.52
>但し、AUTO KEYで貼り付けると何故か小文字になっちゃう問題が積み残しで確認済み

こちらは、起動時のCAPS LOCKの状態依存です。
SHIFT+アルファベットで大文字になるか小文字になるかは、
USE_AUTO_KEY_CAPSを宣言するか否かで指定できるようになっています。

大文字小文字の区別がない機種ではUSE_AUTO_KEY_NO_CAPSを宣言します。

詳細はwin32_input.cppのEMU::start_auto_key()をご参照ください。

317 :武田 ◆bnZpPXJze51u :2015/11/18(水) 23:40:38.16
今晩の更新で、vm::get_tape_ptr()とvm::get_tape_play()を取り込みます。

なお、他の関数との名前空間の兼ね合いで、vm::tape_position()と
vm::tape_playing()という名前にさせていただきました。
vm::tape_recording()もついでに追加しています。

これらの関数は、USE_TAPEが宣言されていて、
TAPE_BINARY_ONLYが宣言されていない機種では実装が必要です。
要は、DATARECクラスを使って、テープの波形を扱う機種ですね。

なお、TAPE_BINARY_ONLYは、MULTI8やPC-8801みたいにバイナリを
直接I/Oで読み書きするような機種で宣言しています。

318 :武田 ◆bnZpPXJze51u :2015/11/18(水) 23:48:35.46
ついでに気になった点について。

_s()な文字列関数ですが、出来ればそのままにしておいて頂ければと思います。
VC++以外向けに、common.cpp/common.hに代替関数も用意していますので、
実用的には問題ないかと思います。

あと一部クラスでmin/maxを宣言していますが、common.h内での宣言で
何か問題がありましたでしょうか?

319 :武田 ◆bnZpPXJze51u :2015/11/18(水) 23:54:40.90
細かい修正ですが、マルチバンクなD88イメージを開いたときに、
イメージを開いたまま(つまりバク選択のメニューを残したまま)
ディスクを抜くことができるようにしました。
バンクの一番おけつに、0: (Disk Ejected)が追加されていますので、
これを選択してください。

従来はイメージを閉じる必要がありましたので、
いったんディスクを抜いて、それから他のバンクを選択する操作が
しにくい問題がありました。
(イメージを閉じて開きなおすと、最初のバンクが挿入されてしまう)

なお、従来でも、違うバンクを選択した場合、内部的には
0.5秒(だったかな?)程度はディスクを抜いた状態を維持して、
それから新しいバンクを挿入するようになっていましたので、
仮想マシン上で動いているプログラムが、ディスクの交換に
気付かないということはないようになっています。

320 :武田 ◆bnZpPXJze51u :2015/11/20(金) 00:29:13.21
>Artane.さん
EMUクラスをもりっと整理することを考えてます。
main側とVMクラス側のインタフェース周りと、
画面周りやサウンド周りや入力周りの汎用的な実装と、
上記のOSまたはライブラリ依存な実装を整理・分離して、
QtやSDL対応、描画周りのOpenGL対応などを実装しやすくしたいなあと。

作業に取り掛かれるのがいつになるのかわかりませんが、
そう遠くない将来(年内または年度内?)にはと思います。

321 :Artane. ◆1o3c8RYIzjU0 :2015/11/20(金) 01:58:01.06
>>320
お疲れ様です。
改変の件、了解しました。

# 今、最新版を取り込んだ物をビルドしています。

322 :Artane. ◆1o3c8RYIzjU0 :2015/11/20(金) 16:59:00.72
11/18版を反映したリリースかけました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20151120

>>318
>_s()な文字列関数ですが、出来ればそのままにしておいて頂ければと思います。
>VC++以外向けに、common.cpp/common.hに代替関数も用意していますので、
>実用的には問題ないかと思います。

XPのヴァージョンによっては*_s()な関数がない。とエラー吐いて終わるようです。大半は解決できましたが。

>あと一部クラスでmin/maxを宣言していますが、common.h内での宣言で何か問題がありましたでしょうか?
あの定義だとLinux等ではよくてもwindows向けのバイナリを作ってるMinGWだとエラーになります。

基本的に、gccの場合は(そして、多分LLVM CLANGでも)関数とdefineを厳密に分けていて、

・#ifndefで関数や変数型が定義されてるかどうかを調べようとしてもスルーされるので、型衝突を起こす
・#defineで関数的なマクロを定義した場合、既存の関数があるとオーバライド出来ない。
と言う動作をしています。

なので、
・typedef fooについては、結局コンパイラやOS環境をコンパイラから知らせてくる定数の#ifdefで切り分けて行く
・min/maxは(C++のオーバライドを悪用して) static inline intで定義する→common.hに纏めました。が、型検証が厳密なので、一部のデバイスではキャストしています。
と言う形になりますね。

現状、私の書いたのだとcommon.hとemu.hがかなり煩雑になってるので、(切り分けが容易な)common.hはcommon_(os名).hを別に定義してcommon.hから#includeするようにしたほうがいいかも知れません。未だ着手してないですが。

323 :Artane. ◆1o3c8RYIzjU0 :2015/11/22(日) 10:36:52.29
>>武田さんはじめCommon Source Code Projectの開発者の皆さん
幾つか、今の時点で思いつく希望事項を書いておきます。
・EMU::draw_screen()とその他のEmuの関数や変数が非同期で動く可能性を考慮して頂けるとありがたいです。
 何を言ってるかというと、draw_screen()の部分はリアルCPU時間を結構喰うということと、実際にテクスチャやサーフェースに書き込むという事もあって独立したスレッドにしてエミュレーション本体の時間を稼ぐことが可能です。
 当然そうなると仮想マシンのVRAM等の書き込みと非同期になるので、V/H SYNCを必要とする場合は、VBLANK期間に突入した瞬間にバッファにコピーして、そこからレンダリングしてやるように用意してやる必要が出ます。
 vm/fm7/の display.cpp と vram.cpp・特にdisplay.cppのevent_callback()関数や、土曜未明に私のGITHUBにcommitしたx1/display.cppの変更部分を参考にして頂けると幸いです。

324 :Artane. ◆1o3c8RYIzjU0 :2015/11/22(日) 10:59:20.91
つづき
・エミュレーションの状況を画像や動画で記録するときに、EMU::を廻してるスレッド側からコールバックを登録するようなフレームワークがあると助かるのですが…
 void foo(uint frame_number, void *data, int bytes)みたいな感じの関数ですね。
 これとToolKitのキューイング機能を使うことで、音声・動画の記録や画像のスナップショットを、非同期かつOS非依存でなおかつスレッドセーフに出来ます。
 # で、キューを読む先以降をOS/ミドルウェア依存にする。

・最近のグラフィック周りはDirectXやOpenGLにせよ、描画ミドルウェア側での拡大縮小がサポートされています。
 なので、今のようにdraw_screen()等で書き込み画面サイズを固定して、draw_screen()側でライン補間やフィルタリング・回転をするよりも、
 何らかの方法で、ミドルウェアのレンダラ側が現在のエミュ側の画面サイズと仮想VRAMアドレスをQueryして、後はミドルウェア(と言うかレンダラ)に
 まる投げしちゃうほうがいい場合が大半だと思います。
 ここら辺は、Qt版で限定的ですが先行対応しています(エミュ側の仮想VRAM構造に手を突っ込まない形で)。

325 :武田 ◆bnZpPXJze51u :2015/11/22(日) 19:42:50.41
draw_screenの非同期化はちょっとどうかなあと。

実機でも、実時間の経過と同期してスキャンライン毎にVRAMの内容を
CRTに送り込んで画面が表示されている訳で。

エミュレータでも、例えばX1とかMZ-700みたいに、スキャンライン毎に
VRAMの内容やパレットが変わるソフトがある機種では、
event_vlineで1スキャンライン分の画像生成をしていて、
draw_screen()はその結果を取りまとめているだけだったりします。

326 :武田 ◆bnZpPXJze51u :2015/11/22(日) 19:46:01.15
もし非同期化してしまうと、draw_screen()で描画をしている間に、
描画する対象の仮想マシンの対象は刻々と変化してしまいますので、
1画面の中に、複数のフレームの状態が混在してしまうような
変なことになってしまうんじゃないかと思います。

そうならないようにするには、結局フレームの先頭かおけつかで
描画にかかわる内部状態をどこかにストアして、そちらを使って
非同期描画ということになりますが…
そこまでするほど、現状の描画処理は重いかなあというのが本音です。

327 :武田 ◆bnZpPXJze51u :2015/11/22(日) 19:58:24.31
>VBLANK期間に突入した瞬間にバッファにコピーして、そこからレンダリングしてやるように用意してやる必要が出ます。

あ、この辺は織り込み済みでのご提案ですね。

んー、ちょっと考えさせてください。

draw_screen()は単にVRAMやパレットなどの状態をストアするだけの
トリガにして、それとは別に、別スレッドから呼ばれる関数で
ストアした状態を描画する、といった感じでしょうか。

すべての仮想マシンがそのインタフェースをサポートすべき、
となると困ってしまいますが、FM7など特定の仮想マシンで、
現状のやり方と両立できる形であれば、あり得るかなと思います。

328 :武田 ◆bnZpPXJze51u :2015/11/22(日) 20:04:57.79
>>324
こちらのご提案は、>>320の結果を見て頂いてからと思います。
実装ははじめたのですが、ちょっと時間がかかるかもです。

年内にもう1つくらい新機種(EX-80かFM16βかJR-200辺り?)を
やりたいので、そちらの工数との兼ね合いになりそうです。

329 :Artane. ◆1o3c8RYIzjU0 :2015/11/23(月) 16:03:47.66
>>327
>draw_screen()は単にVRAMやパレットなどの状態をストアするだけの
>トリガにして、それとは別に、別スレッドから呼ばれる関数で
>ストアした状態を描画する、といった感じでしょうか。

基本的にはそういうことです。
私がコードを読んできての解釈ですが、
・VM内部の、例えばDISPLAYクラスがVM内VRAMへの書き込みを行う
・VM::draw_screen()は、VM内VRAM等のデータを、表示側が解釈できるデータ=パックドピクセルの仮想VRAMに書き換える
・(武田さんのだと)win32_screen.cppで表示
と言う流れだと思います。

VMとEMUの構造もあって、リアルタイム性が保証されるにはそれなりのマシンパワーが要求される所で、
とはいえ、(低クロックであっても)マルチコアもしくはマルチスレッドのCPUが普通になってきてますから、構造を変えなくても分離できるところは積極的に別スレッドに追いだそうと言う話です。

>すべての仮想マシンがそのインタフェースをサポートすべき、
>となると困ってしまいますが、FM7など特定の仮想マシンで、
>現状のやり方と両立できる形であれば、あり得るかなと思います。

全ての仮想マシンでは適用はいらないと思います。
例えばX1のPCG/CGのようにVSYNCやHSYNCに同期してパックドピクセル化をやるようなものは、多重バッファが必要になると思います。(VSYNC/HSYNCのタイミングで裏VRAMに転送する)
未だコードを読んでないのですが、ひょっとしたらスプライトを実装してるマシンでは必要になるかも知れないですね。

330 :ナイコンさん:2015/11/24(火) 01:19:10.91
98x1でもタイマーでパレット切り替えて空のグラデを描画しているゲームがあったりラインごとにパレットを切り替えて多色表示するプログラムがかつてありましたね

コード未見ですが実記でもCRTでしか使えない特殊画面モードの再現まで考えるといろいろと難しそうですね
(GDCの設定いじるとリフレッシュレート100Hz超とか出せましたし)

331 :ナイコンさん:2015/11/24(火) 02:25:39.04
>>330
ほう。結構いろいろ出来るんだな

332 :ナイコンさん:2015/11/25(水) 13:57:42.36
ドラッケンの41色とか売りにしてたね

333 :ナイコンさん:2015/11/25(水) 14:40:17.78
ドラッケン好きだったな

334 :武田 ◆bnZpPXJze51u :2015/11/27(金) 01:26:30.82
>Artane.さん

>>320の件の作業中のファイルを以下にアップしました。

http://homepage3.nifty.com/takeda-toshiya/00tmp/source_osd.zip

OSDクラスを新規追加して、EMUクラス中のOS依存のコードを
OSDクラスの方に移動しています。

pc8801maとmz2500とpx7のみビルドが通るようになってます。
まだまだ修正が入りますので、現時点ではご参考程度ということで、
取り込みは暫くお待ちください。

335 :ナイコンさん:2015/11/27(金) 02:03:42.27
>>334
ありがとうございます。
私の方も別件でぐちゃぐちゃしてるので、当面は暫定的にしか動けないと思いますのでお気遣いなく。

336 :武田 ◆bnZpPXJze51u :2015/11/28(土) 02:37:03.82
全機種でビルドが通るようになりました。
テストをして特に問題なければ、今後のリリース用のソースにします。

http://homepage3.nifty.com/takeda-toshiya/00tmp/source_osd.zip

EMUクラスから、Windows依存の処理を一掃しました。
具体的な環境依存の処理はOSDクラスにまとめてありますので、
これをQtやSDLなど環境ごとに移植するという形になります。

337 :片山博文MZ ◆T6xkBnTXz7B0 :2015/11/29(日) 12:30:42.71
「FM音源をあやつって正しく音を出したい」
OpenAL+ALUTと、ciscさんのFM音源エミュレータ
「FM Sound Generator」を使って、正しく音を出したい。

https://github.com/katahiromz/fmgengen2/blob/master/sample.cpp
https://github.com/katahiromz/fmgengen2

おかしな音が出ます。たぶんFM音源の使い方が間違っています。
修正方法を教えて下さい。よろしくお願いします。

338 :片山博文MZ ◆T6xkBnTXz7B0 :2015/11/29(日) 14:12:27.44
たすけて

339 :ナイコンさん:2015/11/29(日) 19:29:19.78
>>337,338
マルチポストやめようよ

http://peace.2ch.net/test/read.cgi/tech/1181782128/l50
http://hello.2ch.net/test/read.cgi/i4004/1430836648/
https://teratail.com/questions/21294

340 :片山博文MZ ◆T6xkBnTXz7B0 :2015/11/29(日) 20:27:27.98
ム板へ移動します。
http://peace.2ch.net/test/read.cgi/tech/1181782128/

341 :Artane. ◆1o3c8RYIzjU0 :2015/11/29(日) 20:41:07.12
>>336
お疲れさまです。
この数日ばたばたしてて、今やっとDL出来ました( ;∀;)
これから、中身を見ていきますです m(_ _)m

342 :武田 ◆bnZpPXJze51u :2015/11/30(月) 20:26:08.16
>>341
再アップしました。
common/config/fileio周りを弄っています。
この辺りはなるたけ環境によらず纏めておきたいなあと。

Artane.さんのcommon.hの型宣言も、極力取り込んでます。
*_s()な文字列関数は、my_*_s()という名前にして、
VC++以外はcommon.cppの方で標準関数に置き替える実装にしました。
tchar周りの#defineも弄ってます。

config.cppのiniファイルの読み書きのAPIもcommonの方に移しました。
Artane.さんの実装だとQt周り前提になっていますが、
可能でしたらStandardなC/C++にして頂けると取り込みやすいです。
(XM8のようにSDLベースの実装もありますので)
確かGPLなini parserが公開されていたと思うので、
その辺をそのまま組み込んでしまうのが簡単かもしれません。

343 :片山博文MZ ◆T6xkBnTXz7B0 :2015/11/30(月) 23:10:57.81
>>338
他力を借りて解決しました。
http://katahiromz.bbs.fc2.com/reply/10466094/34/

344 :ナイコンさん:2015/11/30(月) 23:43:28.18
ところでアル種さんって読むの?

345 :Artane. ◆1o3c8RYIzjU0 :2015/12/01(火) 13:09:20.87
>>342

お疲れ様です。
作業内容了解しました。
とりあえず、必要最小限のマージをした上でQt依存部分を共通部から追い出していきますね。
デバッガの対応は少し後になりそうですが。

>>344
アーテンですね(^_^;
古いハンドルネームだから(^_^;

346 :Artane. ◆1o3c8RYIzjU0 :2015/12/01(火) 19:08:35.97
とりあえず、Qt (多分Windows以外)で最低限のビルドが可能なようにしました。
githubのbabe250a86799b3b8bfd6f221239e2cf2dfc7ba4で。
・デバッガを統合できてません
・幾つかの関数をEMUに追加してありますが、#if defined(_USE_QT)で括ってて、
尚且つ関数の場合はかなりがQtのオブジェクト間通信に置き換わります。
 置き換えられない関数は数えるほどになる…筈。
・とりあえず、Get/WritePrivateProfile*()はEvilな事をやってラッパをでっち上げました。
 もう少しEvilさをなくしたい。
・source/src/*.cpp から、Qt依存部分を(emu.cpp内で他のクラスとの兼ね合いでなくせないもの以外は)たぶんすべてなくしました(^_^;
 基本的に、C++の標準ライブラリに置き換えた。

現状、FM77AV40EXがビルドできて基本的な動作はなんとかなってます。が、バグが潜んでると思うので排除していきます(;´Д`)
FM7系以外は未だビルド定義が不十分です(;´Д`)
でも、疲れたよパトラッシュ…(´・ω・`)

347 :Artane. ◆1o3c8RYIzjU0 :2015/12/01(火) 22:59:37.24
BABBAGE2ndやBMJr,MASTER SYSTEMなど幾つかのVMが動くようにしましたが、X1系が起動時にスイッチをゆっくり入れろと出てきますね。
githubの d89562f93404aa069216098692567cf9b41844ce

348 :ナイコンさん:2015/12/02(水) 03:10:44.83
あぁ、X1の例の表示かぁ...

349 :武田 ◆bnZpPXJze51u :2015/12/06(日) 23:56:03.86
>>347
お疲れ様です。
こちらの大規模変更でお手数おかけして申し訳ないです。

1週間の長期出張から帰ってきました。
ぼちぼち取り込み作業に取り掛かります。

350 :Artane. ◆1o3c8RYIzjU0 :2015/12/10(木) 19:35:59.47
Linux版 Common Source Code Projectリリースしました
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20151210
未だ、Windowsはビルドすら出来てませんが (^_^;

351 :ナイコンさん:2015/12/12(土) 17:47:56.96
テスト

352 :Artane. ◆1o3c8RYIzjU0 :2015/12/12(土) 19:56:44.07
>>348
なんとか解決できました(;´Д`)

353 :武田 ◆bnZpPXJze51u :2015/12/16(水) 00:46:38.13
>>350
お疲れ様です。
今晩のリリースで、2015/12/13のコミットまで取り込みました。

各VMのNOT,ANDクラスのインスタンス名をnot,and以外に変更しました。
(変数名の名前空間の都合で、Artane.さんとは違う名前にしています、すみません)
また、min/maxの型キャストを取り込みました。
ld700.cpp, mc6809.cpp, upd765a.cppをMSVC以外向けに修正しました。

config, common, fileioをMSVC以外向けに修正しました。
_WIN32と_MSC_VERの使い分けが不適切だった箇所を修正しました。
common.hでboolean, byteの型の定義を追加しました。
なお、common.cppのget_file_path_without_extension()は、
ファイル名のみ取り出すのではなく、フルパス中の拡張子のみ取り除く関数です。

win32では実際には使っていませんが、emu/osdのlock_vm(), unlock_vm()を
ネストする場合を想定した実装にしてみました。
また、深いネストから一気に抜けるために、force_unlock_vm()を追加しました。

354 :武田 ◆bnZpPXJze51u :2015/12/16(水) 00:48:23.12
そろそろ、一旦ソースの同期を取れないかと思っています。

特に各機種の仮想マシン周りのソースで、意味のない差分が発生しています。
変数の型やmin/maxなど、common.hで解決ついている(筈?の)問題の修正とか、
#ifdef _MSC_VERで括られている__assume(0);の削除とか、
コメントアウトされて、もう元に戻されるあてがなさそうな過去の変更とか、
空白や改行位置などの単純な差違とか、etc,etc

#勿論、改行コードの違いは現状のままでいいかと思います。

お時間に余裕があるときで構いませんので、この辺りの作業も少しずつ
進めて頂けますとうれしいです。
DIFFで差分も取りやすくなりますし、お互いのバイナリで挙動が違う、
という問題も、より発生しにくくなるかと思います。

ソースの同期のために、私の方で必要な変更がありましたらお知らせください。
common/emu辺りも、出来るだけArtane.さんにとって統合に抵抗がないような形で、
かつ出来るだけシンプルに纏めていければと考えております。

355 :武田 ◆bnZpPXJze51u :2015/12/16(水) 00:51:43.51
eFM7/77/77AVですが、set_vm_screen_size()の使い方を修正しています。

第1,2引数はVMの描画画素数、
第3,4引数は表示するときの画面サイズ(アスペクト比込み)、
第5,6引数はウィンドウサイズの基準サイズ、
となります。

元のコードだと、ウィンドウが横長になったり小さくなったりするので、
第3〜6の値を変更しています。
また、display_modeの値と、set_vm_screen_size()で指定した画面サイズの
整合性が取れない場合があるので、draw_screen()の処理内で、
毎回set_vm_screen_size()するように修正しました。

#数日ほど2chに書き込めなかったため、自サイトの方に書きましたが、
#念のためこちらでも投稿しておきます。

356 :Artane. ◆1o3c8RYIzjU0 :2015/12/16(水) 06:42:52.69
>>354
お疲れ様です。
とりあえず、少しお時間下さい…同期を取るのにはコードを見直さないと拙い気がしますので。
確かにcommonやemuがカオスになりつつありますし、対策は打たないといけないですね。
基本的に、FM-7の方には当分これ以上は手を入れない(バグフィックスや微調整とFM-8対応を除く)つもりではいますので、
色々と考えて行きたいと思います。
問題の叩くAPIが違う部分は、極力武田さんの方に合わせます。

確実に欲しい構造としては、
・音を出すデバイスについて、write_signal()で左右の音量を調整するAPIをデフォルトにする。
・VM/OSDから、EMUに任意のenum型のコマンド(システムコール)とvoid *型かva_list型での引数を打てるようにするAPIを構築する。
と言う所でしょうか。 

後は、現状最新のコミットにあるように、デバッガに関して、スレッド立ち上げてループ廻しても廻さなくても出来るようにして頂けると非常に助かります。
と言うのも、マルチスレッドかつイベントドリブンのUIと、今のデバッガの構造って相性悪いんですよね。
コマンドインタプリタ本体とコマンドをコンソール等から受け取る部分が分離されてると、問題がほぼ解決出来ますので。

357 :武田 ◆bnZpPXJze51u :2015/12/17(木) 00:49:58.62
ソースの同期の件ですが、ちょっとお待ちください。
OS依存処理のうち、エミュレーションに関係ないサービス的なものを、
EMU/OSDからCOMMONに移すことを含めて、
ちょっと大規模なソースの整理を先にやりたいと思います。

ソースの同期については、Artane.さんに変更をお願いする点も
多くなるかと思いますので、先に方針の摺合せを出来ればと。

358 :武田 ◆bnZpPXJze51u :2015/12/17(木) 00:51:38.24
原則として、VMクラス内では、Win32かQtかSDLかで処理を分けないようにします。

byteやbooleanなど変数の型の宣言、TRUE/FALSEなど値の宣言、
ld700.cpp内のstricmp()の置き換えなどは、common.cpp/hで吸収します。

例えば、tms9918a.cppのdraw_screen()で、_USE_QTの場合はスーパーインポーズの処理を
スキップするようになっていますが、こういったケースでは、
emu->osd_qt->get_video_buffer()の処理を空にするなど、OSDクラスで吸収してください。

#OPN(A)/OPMのmamefm.dllのサポートは例外として残っちゃいますが(苦笑)

EMUクラスも、例えばEMU::EMU()のように、環境毎にインタフェースが変わったり、
特定環境向けのインタフェースが(#ifdefで括って)用意されているのはOKですが、
変数(host_cpusなど)や具体的な処理は、OSDクラスの方で実装してください。
環境依存の#includeや#defineなども、emu.hではなくosd.hで宣言してください。

359 :武田 ◆bnZpPXJze51u :2015/12/17(木) 00:52:52.96
VM::tape_position(), VM::set_disk_protected()は、USE_TAPE, USE_FD1が
宣言されていれば、標準で実装するようにしました。
USE_TAPE_PTR, USE_DISK_WRITE_PROTECTは廃止の方向でご検討ください。

SCREEN_WIDTH/HEIGHT_ASPECT, WINDOW_WIDTH/HEIGHTが#ifndefの場合に、
SCREEN_WIDTH/HEIGHTと同じ値に#defineする処理は、vm.h内でやってますので、
各仮想マシンの(vm name).hで宣言しなくてもOKです。

実解像度640x400を640x480で表示する件については、dot by dotとアスペクト比と、
どちらを重視するか、人によって好みが分かれるところです。
VM側で#define SCREEN_HEIGHT_ASPECT 480を宣言するやり方ではなく、
configにオプションを追加して、EMU/OSD側で処理するようにしたいと思いますので、
その辺の宣言も廃止の方向でお願いします。

360 :武田 ◆bnZpPXJze51u :2015/12/17(木) 00:54:10.54
サウンドのボリューム調整は、write_signal()ではなく、専用のvirtual関数を用意します。
近々ひな形を用意するので、しばらくお待ちください。

なお、データレコーダの音ですが、PC-88など、SIOでバイナリデータを読み書きする
タイプについては取り込みを保留とさせてください。
DATARECクラスでt88ファイルから音の波形を生成して、それをI8251クラスや
Z80SIOクラスがガチンコでシリアルデータとして解釈するのが本筋かなと思います。
(実際にやるのは遠い将来ですが)

デバッガについてはちょっとイメージがわかないです。
VC++向けのコードもArtane.さんに弄って頂いて、それをこちらで取り込む形で
作業するのがいいかもしれません。

361 :武田 ◆bnZpPXJze51u :2015/12/17(木) 01:03:32.49
細かい要望として、共有部分では、関数名などの名前空間は既存のコードに
あわせていただけると嬉しいかなーと思います。
(setMousePointer() -> set_mouse_pointer()など)

後、ソースの全比較をして、個別に気になった点ですが。

disk.cppの、special diskの判定部分が、diff/patchを機械的に
あてはめた結果か、変なことになっているみたいです。
また、get_track_size()ですが、ディスクが抜けた状態なのに、
挿入されているディスクの種類をチェックしているのは変かなと。

こういったことに気付く機会にもなるので、更新時の差分だけ
見るのではなく、時々はお互いのソースの全比較をするのも
必要ではないかなあと思います。
そのときの作業の手間を省くためにも、有意でないソースの違いは
なるたけ同期して無くしておきたいなあというのが、今回のお願いの
きっかけだったりします。

362 :武田 ◆bnZpPXJze51u :2015/12/17(木) 01:10:32.44
取り敢えず、ソースの同期の作業については、適当なタイミングで、

私の方で(有意でない差分が発生している)対象のソース一覧を用意して、
Artane.さんの方で、そのまま取り込みが可能か判断をして頂く、

という形で進められればと思います。

363 :Artane. ◆1o3c8RYIzjU0 :2015/12/17(木) 13:17:43.44
>>357
よろしくお願いします(^ω^)
場合によっては私の方のソースコードにあるアドレスまでメール下さいませm(_ _)m

364 :ナイコンさん:2015/12/17(木) 21:45:04.91
新しい機種が増えるたびに vm/vm.h や res/resource.h に追記しないといけないのは面倒っぽい気もするのですが
うまい解決法は無いものですかね

365 :Artane. ◆1o3c8RYIzjU0 :2015/12/17(木) 22:58:57.42
>>364
スクリプト使うとか…暇見て試してみますわ。

366 :武田 ◆bnZpPXJze51u :2015/12/17(木) 23:29:43.10
面倒ってほど機種数が増えるかなあ(苦笑)
というか、common source code projectにかかわってくださる開発者が
そんなに増えるかなあ…増えると嬉しいなあ。

今晩の更新で、application_path(), bios_path(), create_date_file_name(),
get_host_time()を、EMU/OSDクラスからcommon.cpp/hに移しました。

OS依存の処理だけど、エミュレーションに関係ない処理を、
EMUクラス経由で実行するのがどうにも違和感があったのと、
EMUクラスが初期化される前にiniファイルのパスを取得するために、
winmainの方でもapplication_pathを取得しているのがアホらしくって。

で、こういうインフラを変更すると、全仮想マシン側でも修正が必要で、
大量のソースに変更が入って、Artane.さんに迷惑をお掛けする、と。

こっちの方が余程面倒ですよね、ごめんなさいです。

367 :武田 ◆bnZpPXJze51u :2015/12/17(木) 23:36:03.47
今晩の更新で、というか、今バイナリのビルド中なので、
今晩予定の更新で、というのが正しいですね(を

そういえば、プリンタ周りも現在はEMU/OSDクラスに入れていますが、
やっぱりVM側に戻すことになりそうです。

仮想プリンタで、ビットマップやフォント作ったり、という処理が入るのと、
プリンタDLLをとっかえひっかえ、とか考えるとOSDっぽいんだけど。
でも、プリンタというマシンのエミュレーションをすると考えると、
やっぱりVM側だよなあと。

ビットマップの生成やファイルへの出力とかフォントの生成とか、
そういうサービスをEMU/OSD経由で呼び出せればいいんだし、
DLLを使うのも、mamefm.dllという前例があるんだし、という感じで。

368 :Artane. ◆1o3c8RYIzjU0 :2015/12/18(金) 19:50:42.55
>>358-362
大まかに変更を取り込みました。
まだ、構造的に差異が出てきてそれを潰す作業が続きそうですが…
最低限、FM-7系だけはビルドできるようにしておきました
commit 26f3ced80a6b679371975e68318d3348697e2fe6
disk.cppの重複部分はなくしました。

但し、以下は未だ残してあります(変更要件が固まった時に移行する)。
・音量をwrite_signal()で調整する機能
・ダミーデバイスでLEDを表示できるようにするDUMMYDEVICE クラス(要は、入出力の終端を表現している訳です)
他にもあった気がしますが、まぁ、後からやっていきます(かなり頭が疲れてる)。
とりあえず、ソースコードをきちんと見直していくにも、一定程度動かせないと捗らないので…(^_^;

369 :Artane. ◆1o3c8RYIzjU0 :2015/12/18(金) 20:00:33.69
>>366
>で、こういうインフラを変更すると、全仮想マシン側でも修正が必要で、
>大量のソースに変更が入って、Artane.さんに迷惑をお掛けする、と。
>こっちの方が余程面倒ですよね、ごめんなさいです。

いえいえ全然…最終的にそういうのはお互い様というか、私の方でも色々使いやすくすると称して訳のわからない機能を突っ込んだりしてる訳ですから…

>>367
プリンターの件、了解です。
DLLを使う前提にするか、どうするかはおいおい考えていきましょう。

>>364-365
この件ですが、仮想クラスで(要は殆どの関数をvirtualで定義しちゃう)VMを定義してメタクラスとして、
それぞれの仮想マシンの実体(?)は、そのメタクラスを継承するクラスにしたらどうでしょうね。
↓みたいな感じ
class METAVM → class FOO : public METAVM
で、METAVMには必要最低限かつ多くのVMで共通化出来そうなVM機能を入れる。
# 但し、こうしておくと、gnu ldでのリンクが厄介になりそうな気がしなくもないのですが…はてさて。

## リンカでの.aファイルの相互依存関係の解決ってなんでこんなややこしいんだか…
## ここだけは、VCが羨ましいです(;´Д`)

370 :ナイコンさん:2015/12/21(月) 14:54:48.29
http://akiba-pc.watch.impress.co.jp/docs/wakiba/find/20151221_736240.html
http://akiba-pc.watch.impress.co.jp/img/ah/docs/736/240/mx68000xvihd1.jpg
http://akiba-pc.watch.impress.co.jp/img/ah/docs/736/240/mx68000xvihd5.jpg
http://akiba-pc.watch.impress.co.jp/img/ah/docs/736/240/mx68000xvihd3.jpg
http://akiba-pc.watch.impress.co.jp/img/ah/docs/736/240/mx68000xvihd7.jpg
http://akiba-pc.watch.impress.co.jp/img/ah/docs/736/240/mx68000xvihd8.jpg
http://akiba-pc.watch.impress.co.jp/img/ah/docs/736/240/mx68000xvihd9.jpg

保存状態良好でワラタ

371 :ナイコンさん:2015/12/21(月) 15:23:40.47
キーボード別売りという足元見てんなぁ

372 :ナイコンさん:2015/12/21(月) 15:36:54.92
おつかれさまです。
>>368続き
12/17のヴァージョンと、ほぼ同期をとりました。
今の所、CMakeの同期を取ってるのがX1とかFM7とかEX80とかBABBAge2nd程度です。

>>360
>サウンドのボリューム調整は、write_signal()ではなく、専用のvirtual関数を用意します。
>近々ひな形を用意するので、しばらくお待ちください。
わかりました。

雛形が出来しだい、移行していきますね。

>なお、データレコーダの音ですが、PC-88など、SIOでバイナリデータを読み書きするタイプについては取り込みを保留とさせてください。
>DATARECクラスでt88ファイルから音の波形を生成して、それをI8251クラスやZ80SIOクラスがガチンコでシリアルデータとして解釈するのが本筋かなと思います。

了解です。
基本的にこちらでもコメントアウトしておきました。

現状は、githubの a3901d1d33172ad63008d79dcc2cbc1d734c1c1aです。
幾つか独自の変更点を>>368で書いた事以外に残してあります。

・X1でCG(PCG)とテキストVRAMをレンダリングするとき、
 1Lineごとにシャドー領域に仮レンダリングして、それを
 draw_screen()で合成するようにしてみた。
 →非同期描画モデルだと、PCG/文字が非常にちらつくので。
・PC8801では、ダミーCPUを登録してダミー側のクロックを落としている。
 →そうしないと、HOST CPU側のCPU使用量が跳ね上がるので、
  なるべく落とすようにした。

373 :Artane. ◆1o3c8RYIzjU0 :2015/12/21(月) 15:46:46.46
>>372 は私でした。
デバッガですが、私の側のsrc/debugger.cpp を参照願います。
 基では、debugger_thread()の中でデバッガの
コマンドインタプリタをスレッド立ちあげて廻してるのですが、
これを、コマンド処理部分をdebugger_command()に廻してます。(作業中)
こうする事で、Qtのようにイベントドリブンかつ元々マルチスレッド保障のUIからデバッガの
コマンドを呼び出すときに、
[Widget:テキスト入力イベント]→[デバッガ側受け皿]→[デバッガコマンド実行]→[VM側での解釈]→[Widget:入力待機]
と言う感じの流れでも動くようになります。
# と言うか、Widgetはテキスト入力イベントを投げたら、すぐに入力待機してリプライ文字列の表示待ちになりますが。

Qtでいろいろ管理してると、pthreadでのスレッド立ちあげ/終了と言うのは却って使い勝手が悪いのですね(^_^;
こういう流れは、コマンドコンソール上でデバッガ廻す分には*全く*要らないのですが、
GNU/Linuxや(多分)BSDなどのデスクトップ環境だと、別プロセスでターミナルを立ちあげて、
そこで何かやる。と言うのは却ってややこしいんですよね。mkfifoしてターミナル側でダミープログラム立ちあげて入出力任せて…みたいな。
# もしくは、ターミナルウイジェットを新しく作るか(;´Д`)

374 :Artane. ◆1o3c8RYIzjU0 :2015/12/21(月) 22:42:13.41
>>373のように書いてしまいましたが、撤回します(^_^;
なんとか、独立したスレッド内のループでデバッガ廻せるように出来ました。
もし、作業に取り掛かられていたら、お詫び申し上げます。>武田さん

375 :Artane. ◆1o3c8RYIzjU0 :2015/12/22(火) 22:41:06.13
Common Source Code Project のQt版、武田さんの12/17版を基に2015-12-22-1としてリリースしました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20151222
WindowsとLinux (AMD64)のバイナリへのリンクがあります。

376 :武田 ◆bnZpPXJze51u :2015/12/23(水) 01:25:33.72
お疲れ様です。

統合を進める前に色々やっておこうということで、またモリッと書き換えてます(苦笑)
今回はUNICODEでビルドしたときの問題を色々修正しました。

プリンタ向けのEMU/OSDの実装も、今回で概ね一段落です。
基本的には、Win32のDIBSection,FONT,PENにラッパを被せただけです。
できれば年内に、MZ-1P17辺りを実装できればいいなと思っています。

377 :武田 ◆bnZpPXJze51u :2015/12/23(水) 01:26:40.66
プリンタ向けのサービスの使い方はこんな感じです。

bitmap_t bitmap;
font_t font;
pen_t pen;

emu->create_bitmap(&bitmap, 64, 64, 255, 255, 255);
emu->create_font(&font, _T("Mincho"), 8, 16, false, false);
emu->create_pen(&pen, 3, 255, 0, 0);

emu->draw_line_to_bitmap(&bitmap, &pen, 63, 0, 0, 63);
emu->draw_text_to_bitmap(&bitmap, &font, 0, 0, _T("MZ太郎"), 6, 0, 0, 0);

emu->write_bitmap_to_file(&bitmap, _T("misoko.png"));

emu->release_pen(&pen);
emu->release_font(&font);
emu->release_bitmap(&bitmap);

378 :ナイコンさん:2015/12/23(水) 15:33:59.31
>377
昔のプリンターのような画像を出力しようと思ったら、小さい黒丸か塗りつぶした正方形のような描画が必要だと
思うのですが、それはpenとlineでやっちゃえ、ということでしょうか。
小さいfontで●や■を書くのは何か間違ってますよね。

379 :Artane. ◆1o3c8RYIzjU0 :2015/12/23(水) 15:35:31.41
>>377
お疲れ様です。
プリンターですが、中間の文字エンコーディングはどうしますか?
JISにするかシフトJISにするかUTF-8にするかで色々実装に足す物が出てきますので…

380 :ナイコンさん:2015/12/27(日) 01:55:17.53
同じコモンソースだし
BM L3のほうを参考にしてみたら?

381 :ナイコンさん:2015/12/29(火) 02:28:05.06
昔 ア スキーでPC-8001シミュレーター出してたな。
¥16,8000と高額だが、PC-8001 周辺機器にも完全対応の優れものだった。

382 :ナイコンさん:2015/12/29(火) 16:44:54.92
>>381
カンマの付け方がおかしい
やり直し

383 :ナイコンさん:2015/12/29(火) 17:09:57.06
PC,8001

384 :ナイコンさん:2015/12/29(火) 17:12:09.12
「カンマは3桁で区切るもの」
と教えられてきてないから仕方がない

385 :ナイコンさん:2015/12/29(火) 19:53:48.66
ワロタ

386 :Artane. ◆1o3c8RYIzjU0 :2015/12/29(火) 20:02:53.23
明日で移植作業始めて一周年ですね。
ありがとうございますm(_ _)m>皆様
ちょっと考えてる事がありますが、明日は1日用事なので、忘れていなければその後。

387 :武田 ◆bnZpPXJze51u :2015/12/30(水) 15:06:44.96
今日のリリースで、漢字プリンタ MZ-1P17をサポートしました。
EMU/OSDのプリンタ周りの実装もこれで一段落になる筈です。
MZ-1P17のMZ/X1シリーズへの横展界が完了したら、PC-PR201についても
同様に作業したいと思います。

年内の大きな作業はこれで終わりの予定です。
(横展界くらいはやるかもしれませんが)
それではよいお年を。

388 :ナイコンさん:2015/12/31(木) 17:17:17.66
any2d88みたいにプリンタ部分だけを独立した実行ファイルにできるかな、と思ったら
フォントROMの扱いが本体機種別になっているんですな
例えばyaMSX1にMZ-1P17エミュレーションを内蔵したようなバイナリを作るとしたら
どうするべきなんだろうか
わざわざ他機種向けのプリンタを接続してプリンタフォントのGRAPH文字を印字するような需要は
ほぼ無いだろうけど

389 :武田 ◆.bfc.PoUs4fG :2015/12/31(木) 21:38:33.03
どの機種でもなければ、MZ1P17.ROMを読み込む、とかでしょうか。

390 :388:2016/01/01(金) 00:57:26.50
・MZ1P17.ROMが存在すれば、それを使う
・MZ1P17.ROMが存在しなければ
 ・(MZ2500等の場合)本体のROMを使う
 ・(それ以外の場合)フォントROM無し
でも良さそうな気がしてきました。
けど、それより先に「他機種向けのプリンタを接続してプリンタフォント依存のデータを印字するケースが
あんまり無いんだったらどうでもいいんじゃね?」ですかね。

391 :ナイコンさん:2016/01/01(金) 10:07:30.10
別アプリに成りそうだけどPDF化とか。
用紙サイズとプリンタフォントを選び画像展開にすればコンビニ出力でもかなり使えるかも。
画面系のフォントフェチはよくいるが実印刷にもいるかな?

392 :Artane. ◆1o3c8RYIzjU0 :2016/01/01(金) 15:26:36.77
武田さん、お疲れ様です。
昨年中は皆様ありがとうございました、今年もよろしくお願いします m(.. )m

# 年末は予想以上にバタバタしててレスできませんでした…(^_^;

さて、こんな物をお年玉で書きました。
http://github.com/Artanejp/common_source_project-fm7/blob/master/ABOUT_eFM7_1.txt
http://pastebin.com/r3UMmdkn

爆弾文書かも知れないですが、各位の承諾取ってないですし(-_-;
取れるとも思ってない中身ですので(-_-;

393 :ナイコンさん:2016/01/01(金) 18:05:33.90
読んだ。
XM7本家絡みについてはソース引用している箇所が具体的に明記してあれば、「表沙汰は」問題ないんじゃないかなー。

気になったのはRyu.Takegami氏の件についてはすごく言葉遣いまで注意して無難に済むような単語を選んで記載してるが…
本家本元であるPI.氏に対する礼儀が見当たらない点はどうなんだ?と思った。

394 :Artane. ◆1o3c8RYIzjU0 :2016/01/01(金) 18:32:53.69
>>393
お読みいただきありがとうございます。
PI.さんとは一度メール交わしたかどうかという程度のお付き合いしかないので、ご指摘頂くまで気づきませんでした。
たけがみさんのソフトになってる。という意識が強かったので…はてさて文章かえるにしてもどうしたものか。

395 :ナイコンさん:2016/01/04(月) 13:36:16.42
エミュレータ作者って、みんなどこかおかしいよね

396 :ナイコンさん:2016/01/04(月) 15:49:25.60
とか言い出すお前の方がおかしいと思うが

397 :ナイコンさん:2016/01/04(月) 17:35:52.38
人の事をおかしい呼ばわりするなら
コテつけて書き込んでみろ

398 :ナイコンさん:2016/01/04(月) 18:24:18.27
図星突かれて養護沸きすぎだろw

399 :ナイコンさん:2016/01/04(月) 18:42:18.03
むしろアンチはオマエだけでは?

400 :Artane. ◆1o3c8RYIzjU0 :2016/01/05(火) 10:43:56.56
ここはひどいインターネッツですね。
とりあえず、ご指摘の関係多少見直しました。後、おまけ分も。
http://pastebin.com/ekKc2hH4

401 :ナイコンさん:2016/01/05(火) 13:41:44.22
>>395
おかしいとは思わないけど、cppなのに中身cで書いてあったり、
いまどきc++98やc++03だったり、オブジェクト指向が理解できてないソース見ると、
「なんだかなー」って思う。
規格の話になると「対応してない環境もある」とか言い出す奴
居るけど、「c++11すら対応してない環境に移植する可能性あるのか?
今後必要が出たら、そのときにその部分だけ書き換えろよ」って思う。

402 :393:2016/01/05(火) 13:41:49.39
>>400
「時分秒フォーマット」じゃなくて「時分秒プロテクト」じゃ?

まぁ、ここ数年、2chでFM-7系エミュレータの話題が挙がると
妙におかしいコメントが出没するので、あまりここで指摘したくはないな。

403 :Artane. ◆1o3c8RYIzjU0 :2016/01/05(火) 13:55:40.61
>>402
どもですー。
githubのissuesに投稿して頂ければ、善処(必ず変更するかどうかは不明)します( ・∀・)ノシ

私の周囲のプロテクト潰し界隈の人達は、「時分秒フォーマット」と言ってました(記憶のみ)。

確かにザベ辺りでは「時分秒プロテクト」と言っていた気がするからそちらが正しいのかも(自信をなくした)

404 :ナイコンさん:2016/01/05(火) 13:56:02.22
>>401
おかしいのは395なので、まじめに回答する必要無いと思うが。

強いていえば、フリー版Borland C++ Compiler 5.5.1のリリースが2000年だから、
C++14どころかC++03やC++11にすら対応出来てないソースがあるのは
やむを得ないこともあるんじゃないか?

もちろんビルド環境がBCC5.5.1ならばの話だが。
%未だにBCC5.5.1なんか使ってんじゃねーよ、って言われたらどうしようもないがw

405 :393:2016/01/05(火) 14:15:36.08
>>403
MB8877のフォーマットに言及した文章なのか、
フォーマットを利用したプロテクト技術に言及した文章なのかで
書き方が変わるんじゃないかと思う。

[16]の元文は時分秒フォーマットでも悪くはないが、解説部があの書き方なら
「この手のプロテクトは「時分秒プロテクト」と呼ばれていました」
が正解だと思う。
そうなると[16]の元文も時分秒プロテクトと記載すべきでは?と思う。

2chがイヤなんじゃなくて匿名でコメントするのがイヤなだけ。
しかしここで正体明かしてコメントするといろいろ面倒くさいので、やむなく匿名にしてる。

406 :ナイコンさん:2016/01/05(火) 15:11:42.48
F5F6F7フォーマットっていえよ、もう

407 :ナイコンさん:2016/01/05(火) 16:18:42.10
もう一生半角の時分秒なんて見ることないだろな


"時分秒フォーマット"約 138 件
"時分秒プロテクト"約 103 件
わりとどうでもいいなw

408 :ナイコンさん:2016/01/05(火) 17:00:39.79
他に参加できないけど言葉の違いなら俺でも参加できる
何もできない一番うざいバカによくある勘違いでした

409 :ナイコンさん:2016/01/05(火) 19:20:24.66
>>404
>やむを得ないこともあるんじゃないか?

古いソースを引き継いでる場合もあるだろうから、やむを得ない点もあるけど、
結局はソースメンテしてないって事でしょ。「動いてるから良いじゃん」みたいな。

>%未だにBCC5.5.1なんか使ってんじゃねーよ、って言われたらどうしようもないがw

まさしく、未だにBCC5.5.1なんか使ってんじゃねーよw
そんなやつはLSI C-86 試食版とかも使ってそう。

実際のところ、Visual Studioとかgccとかが最も多いだろうし、
それらの環境では使える(当然バージョンによるが)。

あ、実際のところVisual Studioは2015でもC++11に完全対応はしてないんだけど。

410 :Artane. ◆1o3c8RYIzjU0 :2016/01/05(火) 20:40:58.43
>>405
ちょっと文章を練り直しますが、所謂「時分秒フォーマット」(プロテクトではない)を、昔のvm/disk.cpp,vm/mb8877.cppだと比較的楽に書けてしまうという問題が確かあったんですよ。
で、そこら辺の言及のついでに30年位先の人たちに「時分秒フォーマットをプロテクトに使ってたんですよ」と、30年先の人がΩヾ(´ェ`*)ヘェヘェヘェとなって欲しかった仕掛け程度のつもりなんですけどね(^_^;

この件が問題?になったんで薀蓄少し書いておくと、所謂不安定プロテクトとか呼ばれるものが出てくる前は、時分秒フォーマットをチェックするものが多くて、これは不安定フォーマット全盛になっても続いたのですが、
これ自体はまごうことなき「時分秒プロテクト」だったんですよね。
単純に物理的なID番号に細工しただけなら「フォーマット」ですが、それが意図通りに入ってるかどうかチェックし始めたら「プロテクト」ですので。

セクタ番号に「時分秒」が入ってるとかなると、リードセクタするだけでコピーできない(はずの)フォーマットをしてるかどうかチェックできた(これが初期)。
更に、幾つか見たのではギャップにある時分秒をチェックするものがありました。要は、コピーツールの幾つかは時分秒セクタを作る機能を持ったので…という話。只、これはディスクドライブによっては読むことが出来ないという問題を抱えてました。
これも破られた頃に不安定ビットずれと組み合わされて、「時分秒」IDのセクタのデータ部分が(規則的に)不安定だというのが出てきた訳です。これが、8ビット時代のプロテクトとしては完成形と言ってよかった。

# などと意味不明なことを繰り返しており…

411 :武田 ◆bnZpPXJze51u :2016/01/05(火) 21:48:48.74
前にも書きましたが、体系的なC/C++の教育を受けていない人なので、
コードが色々ちぐはぐなのはごめんなさいです。
というか、活動内容からして、開発者があからさまにN88-BASIC世代の
プログラマなのだ!というやつです(苦笑)

私なりに、きれいな設計、きれいなコードになるよう努めています。
ただ、「きれい」の基準が、簡潔で見通しが良く、正規化されていて、
生産性が高いということだという点はご了解ください。

C++の最新規格を追いかけようとか、C++の機能をフルに使おうとか、
そういう方向は興味ないです。(言語マニアじゃないですし)

#職業プログラマのくせに不勉強な奴だと思われるかもしれませんが、
#業界的に、最先端のプログラミング技術は余り要求されてなくて、
#業務知識とか制御とか数学とか、そっちの方が要求されるんですよ。

#今日が仕事始めでしたが、今日のお仕事はK&Rの古式ゆかしい
#Cのソースの調査でした(苦笑)

412 :武田 ◆bnZpPXJze51u :2016/01/05(火) 21:54:11.24
>そんなやつはLSI C-86 試食版とかも使ってそう。

使ってますが何か?(を
MS-DOS Playerは正にそのために開発したブツですし。

私のエミュレータの原型はnester由来なので、
ある意味では2000年からソースを引っ張ってきてますね。
当時の開発環境はVC++6でした。

413 :ナイコンさん:2016/01/05(火) 23:01:57.98
人様のコードにケチをつけるお方のコードとやらを参考までに見てみたいですわ

414 :ナイコンさん:2016/01/05(火) 23:13:24.60
言い訳が多いな

415 :ナイコンさん:2016/01/05(火) 23:28:25.79
エミュはアンチというか粘着してくるやついるから
まあ気にせず頑張ってください

416 :ナイコンさん:2016/01/06(水) 19:04:31.92
エミュはかなり上位な技術力とハードに対する理解を求められるから
嫉妬の対象になりやすいんだよね

417 :ナイコンさん:2016/01/06(水) 19:10:50.97
Cもまともに書けない技術力(笑)

418 :ナイコンさん:2016/01/06(水) 21:11:55.99
たぶん、日本語よりCの方が打ち込んでるな…

419 :ナイコンさん:2016/01/06(水) 21:47:44.17
まあ!エッチね

420 :ナイコンさん:2016/01/06(水) 22:08:39.72
>>417
それは技術とは全く別の話なんじゃね?

421 :ナイコンさん:2016/01/06(水) 22:12:02.63
>>411
>ただ、「きれい」の基準が、簡潔で見通しが良く、正規化されていて、
>生産性が高いということだという点はご了解ください。

「私なりに」って付いてるって事は、あなたが「きれい」と思っている
ソースってことですよね?

簡潔・正規化・生産性すべて、新しい規格への対応やオブジェクト指向
導入したほうが実現できますよ。

>#業界的に、最先端のプログラミング技術は余り要求されてなくて

「あなたの周りでは」でしょ?
私のかかわってるプロジェクトは、日本・中国・アメリカ・ドイツ・
フランス・フィンランドのメンバーで構成されてますが、ドイツ・フランス・
フィンランドのヨーロッパメンバーはC++11やboostバリバリです。
ただプロジェクトとしてC++11必須なわけでもなく、そういう意味では
「要求されてない」んですけど、全社的にC++11導入という流れになってきてます。
ちなみに、C++11は最先端じゃないですよ。最先端はC++17じゃないですかね。

>#業務知識とか制御とか数学とか、そっちの方が要求されるんですよ。

ちなみに、私は船舶関係なので数学知識もガンガン出てきます。

422 :ナイコンさん:2016/01/06(水) 22:13:05.98
ならおまえがやれよ
また口先だけか

423 :武田 ◆bnZpPXJze51u :2016/01/06(水) 23:41:53.77
えーと、適当なところでフォークして、試しに1機種くらい、
「あなたなり」の「きれい」なコードに修正して頂けるなら大歓迎です。

それを見て、他のソースに横展界する手間をかけるだけの価値があると
「私なり」に感じれば、是非取り込ませて頂きたいと思います。
(生産性が倍位になりそうだ、とか)

まああれだ、バズワードじゃなくてコードで語ろうぜ、ということで。

#(少なくともホームローン返すまでは)転職する予定はないので、
#「私の周り」で要求されている勉強を優先したいと思います。
#FAの組み込み界隈で、C++11とかBoostとか言われても、ねえ(苦笑)

424 :ナイコンさん:2016/01/06(水) 23:48:28.26
おまえレッドラムだろ

425 :ナイコンさん:2016/01/07(木) 00:21:22.51
口だけカスは相手にするな
長文書いて悦に浸ることしか出来ない無能など

426 :Artane. ◆1o3c8RYIzjU0 :2016/01/07(木) 00:36:09.77
>>武田さん
こういう煽りの人は相手にしないほうがいいですよ(´・ω・`)


>>417
Boostは個人的には使ってみてもいいのかも知れませんが、リソース喰いそうのが今二つなので(-_-;
と言うか、そこら辺にオフロードするシチュエーションがいまいちわからないのですが、エミュレータで。
# 仮にARM系のスマホやタブレットをホストにした時に使うなら、いっそOpenCLなどのHSA技術に転んだほうがいい気がしなくもないですし。

流石に、00年代以降のゲームマシン(PS2/3/4とかXBOX系とか)ならば使わないとダメな局面もあるでしょうけど、そこまでの能力がないマシンをエミュレーションするのにBoostは却って使えないですね。
C++11も、使えりゃ確かに使い勝手いいのですが、別に無いからと言ってそんなに不便とも思わない。と言うのが、書いてみて思うことですね。

個人的に着目した技術は惜しみなく投入していきますが、それが見いだせないのも事実。

427 :ナイコンさん:2016/01/07(木) 23:16:42.89
>えーと、適当なところでフォークして、試しに1機種くらい、
>「あなたなり」の「きれい」なコードに修正して頂けるなら大歓迎です。

クラス設計からやり直すことになるんで、丸ごと新規作成になります。
で、ただでさえ少ない自分が自由になる時間をエミュレータ製作につぎ込みたくないです。
それほどの情熱はもてないですし。

>#FAの組み込み界隈で、C++11とかBoostとか言われても、ねえ(苦笑)

>>411の「業界的に」は「あなたのいる業界的に」って事か。紛らわしい。
IT業界全般のことかと思ったわ。

428 :とあるエミュ開発者:2016/01/07(木) 23:52:36.87
やる気もないなら口出す必要無いな。
何しにここに来ているんだか。

…こういう奴の次のセリフは「アドバイスしに来ているんだ」とか言いそうだわw
実績示せない輩ははい退場!

429 :ナイコンさん:2016/01/08(金) 00:08:26.03
開発者各位 スルー耐性つけようず

430 :ナイコンさん:2016/01/08(金) 00:39:34.05
つけようず のところからもうスルーできないんだけど、狙ってのことか!

431 :武田 ◆bnZpPXJze51u :2016/01/08(金) 02:14:42.40
>>427
そうですか、残念です。ご縁がなかったということで。
アドバイスありがとうございました。

432 :武田 ◆bnZpPXJze51u :2016/01/08(金) 02:21:00.23
MZ-1P17のMZ-2/3モードの実装に時間が掛かってしまいましたが、
MZ各機種への横展開が一段落したところでリリースします。
X1シリーズはその後にでも。

それが終わったら、ゲーム機関係で、ジョイスティックを
キーボードに割り当てているのをOSDに持って行って汎用化するのと、
サウンドボリュームの調整のインタフェースを整備するのと、
それくらいでEMU/OSDクラスの一連の整備が一応完了でしょうか。

#キーバッファなどのポインタをconstにしようか思案中。
#VM内でバッファを弄ってる機種があるのが気持ち悪いもので。

433 :ナイコンさん:2016/01/08(金) 09:52:44.82
武田さん、わざと煽ってるだろw

434 :Artane. ◆1o3c8RYIzjU0 :2016/01/08(金) 12:42:21.60
とりあえず、バイナリリリース掛けました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160107_3a
武田さんの12/31版をベースにしています。
Credit関係の日付がちょっとおかしいかも知れないけどゆるして(´・ω・`)

>>432
私の方でキーバッファとかいじってましたっけヽ(д`ヽ)オロオロ。。(ノ´д)ノおろ

435 :ナイコンさん:2016/01/08(金) 14:55:14.57
>クラス設計からやり直すことになるんで、丸ごと新規作成になります。

生産性実現できてねえwwwwww

436 :ナイコンさん:2016/01/08(金) 19:23:57.05
なんか幻滅した

437 :ナイコンさん:2016/01/08(金) 21:20:09.87
>>435
え?

438 :Artane. ◆1o3c8RYIzjU0 :2016/01/09(土) 00:41:32.69
>>437
車輪の再生産って奴ですな。
今ある物を細かく変えるのではなく、みだりに一から作り直すのはFOSS界隈ではそう呼ばれとります。
構造が詰んでるとかパフォーマンスが出ないから作り直すのは別ね。

439 :ナイコンさん:2016/01/09(土) 21:37:24.70
>>434に入ってるWindows用バイナリなんですが、
HELP→Aboutなどで子ウィンドウを表示させて右上の[×]クリックで閉じる。を何度か繰り返す。
エミュレータのメインウィンドウを右上の[×]クリックで閉じる。
の順に操作すると、Win7ではほぼ毎回「○○は動作を停止しました」になりそうな感じです。ほとんどの機種で。BIOSファイルは無しでも確認可能。
と思いきや、他の環境では出なかったりするので私の環境がおかしいだけかもしれません。

あと、Ubuntu14.04LTSだとQtが古いせいなのか、ビルド済みのバイナリもソースからのmakeも駄目でした。
ttp://packages.ubuntu.com/trusty/libqt5opengl5-dev 5.2.1。Ubuntu15.10ではもっと新しい。
ttp://doc.qt.io/qt-5/qopenglfunctions.html source/src/qt/common/qt_gldraw.cpp ではglDisableなど、

440 :439の続き:2016/01/09(土) 21:40:43.15
"This function was introduced in Qt 5.3"の機能が使われているようです。
なので、Qt5というだけではなく、小数点以下も書いていただければ、と。

441 :Artane. ◆1o3c8RYIzjU0 :2016/01/09(土) 23:26:32.53
>>440
レポートありがとうございます。
Windowsの方は再現するかどうか後で試しますね。
GL周りに関しては、なるべくQt5.0以降で動くように変えて見ます。

442 :武田 ◆bnZpPXJze51u :2016/01/10(日) 17:00:50.73
MZ-1P17のMZ/X1各機種への横展界が完了しました。
結局X1シリーズもまとめてやることに(苦笑)

>Artane.さん
キーバッファをconstに、の件は、私の実装した機種です。
例えば「SHIFT+右」で「左」になるような機種で、
「左」が押されていたら、「SHIFT」「右」をオンにするような処理で、
手抜きしてキーバッファの方を弄ってたりします。

自動入力とかDirectInput対応とかSHIFT+10キーとか、
OSD側でキーバッファを操作する処理が増えてきていますので、
そちらに変な悪影響がいかないように保証したい、ということで。

443 :武田 ◆bnZpPXJze51u :2016/01/10(日) 17:01:44.69
>武田さん、わざと煽ってるだろw

えーそんなー(棒

444 :Artane. ◆1o3c8RYIzjU0 :2016/01/10(日) 22:25:03.59
>>440
ちょっと調べてみたのですが、FedoraとUbuntuでみる限り、今も入手できて一定のサポートもされてるディストリでは、Ubuntu 14.04 LTSのQtが一番マイナーヴァージョンが小さい感じですね。
で、考えたのですが、Qt5.1以降ならば動く。と言う方向にして行こうと思います。
glXgetProcAddress()などでGL関数を引っ張ってくることも考えたのですが、それだといろいろ厄介なので。
# GLES固定だとWindowsがどうなるか(VirtualBox上のWindowsだとAngleが動かない可能性が…)。

>>442
了解ですー。

445 :ナイコンさん:2016/01/12(火) 20:42:40.57
サポートが長いといえばCentOS。
でも、Qt5やSDL2は標準のパッケージとして用意されてないんですかね。Qt4やSDL1はあるみたいですが。
ttp://mirror.centos.org/centos/7/os/x86_64/Packages/
そもそも、CentOSで8bitマシンをエミュレーションしたい人がいるかどうか……?

446 :ナイコンさん:2016/01/12(火) 23:10:18.13
ないな。

447 :Artane. ◆1o3c8RYIzjU0 :2016/01/15(金) 03:36:27.71
FM-8を(仮)実装してみました。
githubの commit ac474b9e0fc2c5a2ad1e490cb3f329df71928cb1 .
バブルカセットとか8インチディスク関連とかは未実装。
おまけ機能で、FD0Fの読書きで自動的にバンク切り替えする機能(昔雑誌に出た改造)と、FM-7互換のPSG(これも拡張ボードが出てた)を選択出来るようにしました。

>>434 でバグレポートのありました、Qt5 < 5.3 だとコンパイルできない問題も、一応解決しました。
# OpenGL ESだとコンパイルができなくなる副作用が。

Qt5 >= 5.1でコンパイル可能なはずです。
もうひとつのWindowsでクラッシュ云々はまだ未検証…

後、業務連絡ですが、src/vm/{foo}/{foo}.h のマシン記述に、 USE_CRT_MONITOR_4_3 と言うフラグを追加してみました。
これは、4:3のディスプレイをOSD以下の画面表示側でシミュレートするためのフラグです。
WindowsでOpenGLを使わないなら、多分DirectXのBitBlt関数でのハードウェアスケーリングで何とかやってくれるはずです。やってくれないかも知れない。

# やはり、4:3画面がないと気分の悪い物がありまして…申しわけない。
# …スケーリング方法はqt/common/qt_gl*.cpp・特にresizeGL()とFM-7を見ていただきたいのですが、
# 「ドット比1:1」「ドットの横が整数倍」「ドットの縦が整数倍」と言う3つを用意して見ました。

448 :Artane. ◆1o3c8RYIzjU0 :2016/01/20(水) 03:03:03.84
久々にリリース掛けました
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160119

色々弄っていて、FM-7の漢字ロム無しでの起動を可能にしたとか(単純にリセットすると落ちますが…)、OpenGL描画で予想される消費電力を大きく減らしてみた(はず)とか…
後、ひょっとしたら不正確かも知れないけどFM-8を実装してみました。
色々問題含みな気もしますが、とりあえず…

449 :ナイコンさん:2016/01/20(水) 21:32:30.62
>>447-448
縦横比の調整をオフオン切り替えできるのは良いことだと思いますが、「4:3への補正」と決めうちするのではなく、
WINDOW_HEIGHT_ASPECTとかSCREEN_WIDTH_ASPECTとか、そんな感じの値を元に補正したほうが良いと思います。

例えばTMS9918Aクラスでは256x192か、その縦横2倍ずつで画面を作っているので元から4:3です。
しかし、MSX1の実機を当時の家庭用テレビに繋いだ場合、
横は256ドットのうち、端の数ドットずつが表示されない。
縦は192ドット全て表示されるのに加えて、上下に周辺色が表示される。
というのがありふれた日常だったと思います。
ttp://blogs.yahoo.co.jp/naonori_msx/32401975.html
ttp://hp.vector.co.jp/authors/VA030421/msx302.htm
ttp://www.kagami.org/diary/2006-01-01-1.html
正確な数値はわかりませんが、MSXの場合は横方向に1.1〜1.2倍拡大するぐらいが妥当でしょうか。

450 :ナイコンさん:2016/01/20(水) 21:34:41.52
また、VMware上のUbuntu14.04LTS(64bit)ゲストではSegmentation fault (core dumped)でした。
OpenGLが3.0未満だからダメなのね、と思って新しいカーネルを入れてみたり ttp://www.mesa3d.org/vmware-guest.html に従ってみたりするとSegmentation faultは出なくなりましたが、画面は真っ黒のままです。
VMware上のUbuntu15.10(32bit)ゲストでは、自前でビルドすれば表示にも問題ないみたいです。

451 :Artane. ◆1o3c8RYIzjU0 :2016/01/20(水) 22:27:56.95
ありがとうございます。 >>449 については後で検討します。
>>450
バイナリの問題なのかビルドすればうまく行くのか切り分ける必要がありそうですね。
色々試して少しやり方を考えてみます(ひょっとしたら、事実上gcc5系の新しいABIでビルドするしか無いというDebian/sidの状態に依存してる問題かもしれないので…)
後、ビルド時のGLのバイナリの問題もあるかも知れないですしね。

452 :武田 ◆bnZpPXJze51u :2016/01/20(水) 22:51:30.56
画面のアスペクト比周りの件は、ちょっと私の方で預からせてください。

#本業が忙しすぎて、いつ対応できるか不透明なのですが(苦笑)
#今日一つのヤマを越えたので、なるたけ近いうちにでも。

453 :ナイコンさん:2016/01/20(水) 23:58:02.78
VMware上のUbuntu14.04LTS(64bit)ゲストでは、リリースされたバイナリでも自前ビルドでも同じ現象です。
画面は真っ黒ですが、音を鳴らすことは可能です。
念のため、あらかじめ export QT_OPENGL=software を実行してみても変化なしのようです。

まあ、Ubuntu14.04LTSで動かさなきゃいけない理由もないんですけどね。
# 気が向いたら、14.04LTS(32bit)や15.10(64bit)もVMwareで試してみるかのぉ

454 :Artane. ◆1o3c8RYIzjU0 :2016/01/21(木) 04:44:42.52
OpenGLとUbuntu14.04LTSの件ですが、これ、OpenGLが標準だと2.1までしか実装されてないのが問題の根本っぽいですね。
多分かなり汚いコードになりますが、対策出来なくはないので暫しお待ちを。
とは言え、音声関連の問題(MinGWだとプチプチ切れる)の対策を先にやりたいのでちょっとお時間かかります。

>>452
了解です。お預けします。

455 :Artane. ◆1o3c8RYIzjU0 :2016/01/21(木) 04:54:20.51
>>454
追伸。
件の二つの事については多分他の似たもの書く人の参考になりそうなので、備忘録を書いておきます、すいませんm(_ _)m

描画問題は基本的に、
・GL3.0以上なら消費電力節約
・それが無理なら消費電力喰うのを我慢してもらう
の二択にします(^_^;) 

後、音声ですが、SDLの内部挙動の差異の問題っぽいです。
・Linuxだと設定したバッファサイズの1/偶数なサイズで、音声出力関数を一回コールバックするので、1/2サイズでバッファを切り替えても音が切れない
・Windowsだと1/奇数なサイズでコールバックする?ので、時折音が切れる臭い 

これがわかった時は、爆笑しましたが、何とか実装換えていきますね。

456 :ナイコンさん:2016/01/23(土) 10:54:40.69
根拠の全く無い1/2サイズで決め打ちってぶっちゃけバグだよね。

SDLってわりと有名なライブラリだと思ってたけど、
結構適当な実装してるんだなぁ。

457 :ナイコンさん:2016/01/23(土) 14:04:39.73
デバイスドライバの挙動に左右されたりする可能性もあるのよね

458 :Artane. ◆1o3c8RYIzjU0 :2016/01/23(土) 16:52:37.60
音声の方は直し入れました。バッファサイズとチャンクサイズの設定を最大公約数にしてみました。

GLの方は、GL3以上が使えるか使えないかで色々切り替えるようにしました。
が、問題の(?)Ubuntu 14.04LTSでは用意されてるOpenGLのソフトウェアレンダラが腐ってるのと、それと同時にVirtualBoxやVMWareのドライバとの相性問題があって画面が真っ黒になりますね(;´Д`)
ソフトウェアレンダラについては、DebianのStable(8.0以降)だと問題はないです(が、VM側ドライバとの相性が…)
# 後、Ubuntuだとappmenu-qt5がバグってて、インスコされたままだとメニューが出てこないという問題も。

非Windowsでメニューが出ないで吹っ飛ぶ場合は、環境変数にLIBGL_ALWAYS_SOFTWAREを適当な値で設定してみてください。
# ソフトウェアレンダラをやめるには、この環境変数をunsetする。

githubのcommit 51df420284c56c1fed6ec43372859226427e7fad です。

459 :ナイコンさん:2016/01/24(日) 01:32:01.79
Ubuntu14.04LTS(32bit)だと>>450みたいなことをしなくても最初からOpenGL3.0に対応している、とglxinfoで自称してるけど
VMwareでもVirtualBoxでも画面は真っ黒のようですな。
VMware ToolsやGuest Additionsを入れた状態でどうなるかは試してないけど。

460 :Artane. ◆1o3c8RYIzjU0 :2016/01/24(日) 19:43:40.99
と言う事で、Qt版のバイナリリリース掛けました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160124
から。FAQに追加した方がいい項目があったらレスお願いしますm(_ _)m

461 :ナイコンさん:2016/01/25(月) 00:45:20.56
VMware上のUbuntu15.10(64bit)は表示に問題なしですね。
Fedora23(32bit)にVMware Toolsを入れると、「3Dグラフィックスのアクセラレーション」オフではOpenGL2.0、オンではOpenGL3.0を使って特に問題なく表示されるようです。

FAQに書くことじゃないけど、MinGWを使ったビルド方法がアホでもわかるように書かれてたら嬉しいかもしれない

462 :PI. ◆5XUo.OyiQc :2016/01/27(水) 21:47:16.25
SDLはオーディオドライバ(WindowsならDirectSound or Wave, LinuxならOSSとかPulseAudioとか)
によって挙動がかなり変わってくるようですね。XM8ではコールバックされたときのバッファの
空き具合を見て、かなり空いているようであれば多めにサンプルをつくる、少ししか空いていない
ようであれば少なめにサンプルをつくる、といった工夫を入れています。

上記の工夫+デフォルトのバッファを大きめに取ることで、レイテンシを犠牲にしながらも
音が切れにくくなっています。

463 :ナイコンさん:2016/01/27(水) 22:26:45.33
PI氏から見て、武田のコードはどうなの?

464 :ナイコンさん:2016/01/28(木) 09:14:57.00
一方は敬称有り一方は敬称無し
あからさまw

465 :PI. ◆5XUo.OyiQc :2016/01/28(木) 21:29:56.04
失礼ながら思ったことを正直に書いてしまうと、「どちらかといえば読みにくい、良くないコード」という評価になります。

分かりやすい理由としては設計・実装に不均質な部分が多々見られること、実ソースに対してコメントがあまりにも少なすぎること、長いswitch〜case散見されることあたりです。
最後に関して言うと、たとえばWndProcでは実際にやることを直接書かない(case WM_XXX:だけ書いて、実体は極力サブ関数に逃がす)方が見通しがよくなるはずなのですが。

ただし12年もの長きにわたりモチベーションを維持しつつ、多数の機種を共通ソースで実現されてきたことは敬意を表します。これだけの期間モチベーションを維持し続けることは並大抵ではありません。

最後に、>>421氏のような「言語マニア」は私もOut of 眼中です。メモリ・CPUパワーに余裕のあるシステムがターゲットなら、C++に拘る理由が乏しい(なぜ、いとも簡単にバグを生み出せる言語であるC/C++にこだわるの?Java/C#に行けば?)だし、
メモリに余裕のないシステムがターゲット(私も仕事ではそうです)なら、templateは絶対禁止(=Boostは関係なし)だからです。

466 :ナイコンさん:2016/01/28(木) 23:27:32.16
涙拭けよ

467 :ナイコンさん:2016/01/29(金) 00:02:23.66
なんで、そんなうんこソースコードをわざわざ使ったの

468 :ナイコンさん:2016/01/29(金) 00:27:49.69
M88の方が良かったよな

469 :Artane. ◆1o3c8RYIzjU0 :2016/01/29(金) 01:26:55.58
>>467
想像ですが、GPLだからじゃないですかね(;´Д`)

470 :ナイコンさん:2016/01/29(金) 09:07:06.03
XPERIAで88、98ゲームやりたいんだけどどうやるの?
ググってもやり方分からん

471 :ナイコンさん:2016/01/29(金) 09:26:10.00
ググってもわからないようなら、あんたにゃ無理ってことだよ

472 :PI. ◆5XUo.OyiQc :2016/01/29(金) 21:43:27.01
M88のソースも、それなりに研究していますよ。採用しなかった理由としてはWin32(MFCじゃないですよ、今風にいえばPlatform SDK)とVC++に依存しすぎていて
XM8の最終ターゲットとして想定していたAndroidプラットフォームへの移植が却って困難と考えたたためです。

ライセンス云々は、ほぼ関係ないです。私はciscさんと机を並べて共に仕事をしていた時期もありますから、承諾を得るのはまあ簡単だろうと勝手に思っています。

武田さんのCommon Source Code Projectは性質上デバイス別にきっちり分かれていることや、pc8801.cppやpc88.cppの構造が比較的シンプルで手を入れやすいことから採用しました。

ただ実際に動かしてみて、当初の予想以上の「重さ」に驚きました。まあ44100Hzで仮想マシンを切って、その度ごとにfmgenで1サンプル作っているなら、そうなりますよね。
私がXM7を最初に作っていた頃は(M88も同じころ)K6-IIIやCeleron300A@450の時代でしたから、リアルタイム性を確保するためにそれなりに気を遣ったものです。(遠い目)

473 :ナイコンさん:2016/01/29(金) 21:53:20.45
PIさんはもうXM6の開発はしないんですか?

474 :ナイコンさん:2016/01/30(土) 13:16:17.52
竹田の話はもうやめて差し上げろ

475 :ナイコンさん:2016/01/30(土) 17:34:06.54
つまり、いいとこなしってことだな

476 :ナイコンさん:2016/01/30(土) 18:37:08.87
ここもワッチョイ必要だな

477 :ナイコンさん:2016/01/31(日) 18:08:28.56
コードの書き方はうんこだけど、構造はそれなりなのかな?

478 :ナイコンさん:2016/01/31(日) 21:04:09.36
XM8は糞SDLじゃなければ良いのになぁ

479 :武田 ◆bnZpPXJze51u :2016/02/07(日) 16:35:43.45
>Artane.さん
サウンドの左右のバランスを調整する機能を実装してみました。
次は画面のアスペクトの調整ですね。

>PI.さん
おおう、ご無沙汰です。
コードについては今後も精進します。

480 :ナイコンさん:2016/02/07(日) 22:53:21.37
>>479
fmgenを使用している音源では、2つあるコントロールのうち1つは動かないダミーで、左右同じ音量になっているのでしょうか。外見の印象と内部動作との違いが気になります。
MSXでBeepの音量を一番右端にすると、キークリック音が変になります。同時にPSGを鳴らすと、よりわかりやすいです。オーバーフロー?(音量を大きくしなければ済む話ですが。)
東芝のMSXの一部機種ではステレオとモノラルの切り替えスイッチが存在しており、ステレオの場合はPSGのチャンネルBは右だけ、Cは左だけから出力になるわけですが、そんな切り替えスイッチに対応する予定は無し、でしょうか。

481 :武田 ◆bnZpPXJze51u :2016/02/09(火) 00:10:29.00
>Artane.さん
すみません、サウンドの件の取り込みはちょっとお待ちください。
もうちょっと弄ろうかと思います。

>>480
すみません、回答はまた後日。

482 :Artane. ◆1o3c8RYIzjU0 :2016/02/09(火) 09:30:27.01
>>481
はーい、わかりました。
多分、早くて今週一杯はロクに動けないと思いますので…(^_^;)

483 :ナイコンさん:2016/02/09(火) 19:51:52.68
X68Kエミュのくだらない質問はどこですればいいんですか?

484 :武田 ◆bnZpPXJze51u :2016/02/10(水) 00:52:33.19
ボリューム周りのコードを整理しました。
ついでにジョイスティックの設定をサポートしました。

#リソースファイルを直書きするのってどうなんだろう(苦笑)

485 :武田 ◆bnZpPXJze51u :2016/02/11(木) 01:37:37.44
>Artane.さん
今晩のリリースで、MB8877のタイミングを再々修正しました。

FM7関係の、特定ソフト向けの例外処理のうち、外せるものも
あるかもしれません。
お時間のあるときにでも、ご確認いただければと。

486 :Artane. ◆1o3c8RYIzjU0 :2016/02/16(火) 02:51:18.50
とりあえず、2/13版までマージしました。
が、ジョイスティック関係のOSD/GUI側での実装がまだです。
キーボード→ジョイスティックの変換も怪しい。

YM2203の音量関連のwrite_signal()は、*一時的に*残してあります。
特にWHGやTHGを活用してるソフトウェアでは複数のスピーカを置いた形にして、ステレオ音声を実装しておきので…音量を左右で個別に設定できればこんなんやらずに済むのですが、その為にはなんかの細工が必要になる。
githubか↓の commit 2fc3688fce9d88e48aebd26b694fd2bb143a2574 .

後、セカンダリのGITリポジトリを作っておきました。
https://pikacode.com/Artanejp/common_source_project-fm7/

>>485
お疲れ様です。
MB8877の例外処理の件は、後で見てみます、力尽きました…_| ̄|●

487 :武田 ◆bnZpPXJze51u :2016/02/17(水) 01:53:05.77
YM2151,YM2203の左右のボリュームを独立して調整できるようにしました。
fmgenをもりっと書き換えてます。
mamefm.dllを使っている場合は、左のボリュームが左右両方に反映されます。

画面のアスペクト比を4:3に変更できるようにしました。
画面の縦を伸ばすか横を伸ばすかの選択は保留とさせてください。

取り敢えず、宿題になっていた案件はこれで全部だったでしょうか。

488 :武田 ◆bnZpPXJze51u :2016/02/19(金) 03:00:42.81
>Artane.さん
もりっとソースを整理しました。
マージ大変かもしれません、ごめんなさいです。

Publicなメソッド名を、一定の命名規則に沿うように変更したり、
自動キー入力やジョイスティック周りの、環境非依存部分を
EMUクラスに移動したり、といった辺りが中心です。

今回から、ビルド環境をVC++2013にしてみました。
IncludeやLibのディレクトリを、プロジェクト毎に指定する
必要があるなど、どうも勝手が違って面倒ですね。

489 :ナイコンさん:2016/02/19(金) 22:14:24.76
ついにWindows2000で動かなくなってしまいましたな
2000対応が欲しけりゃで自分でVC++2008でビルドすればいいだろうけど

490 :ナイコンさん:2016/02/23(火) 18:51:40.15
Win2000マシンには重すぎだろ

491 :ナイコンさん:2016/02/23(火) 21:09:41.30
W2Kだとマルチコアは動きが怪しいからもう使ってる人いないだろう。

492 :ナイコンさん:2016/02/24(水) 05:31:05.95
EmuZ2500
レイドックを修正したとあるけど
レイドック起動後(とりあえずSTAGE1開始時)、IPLリセットするとディスクが全く読めなくなりますよ

493 :ナイコンさん:2016/02/24(水) 09:39:44.74
うちは2000現役だなぁ
Xp以降は無駄なエフェクト多いし裏で余計なサービス動いてて重すぎ

494 :ナイコンさん:2016/02/24(水) 13:00:19.48
無駄なエフェクトを禁止して不要なサービスは手動で停止すればよい

495 :ナイコンさん:2016/02/24(水) 15:26:44.27
XPが余計なサービスで遅いと言うほど速さが気になるのに
XPマシンより遙かに古く遅いPCでの2000は気にならないんだな

496 :ナイコンさん:2016/02/24(水) 18:01:01.08
古いPC+W2K と 最新PC+W10 じゃ体感速度変わらないと思うよ。ネットで動画とか3Dゲームしない限り。

497 :Artane. ◆1o3c8RYIzjU0 :2016/02/24(水) 18:40:12.02
エラくややこしい仕事だった(;´Д`)
やっと、こちらの方の作業が出来ます(^_^;

と言う事で、やっとキーコードとジョイスティックのアサインダイアログを作りました。
まだ不十分ですが…
GITのcommit a65f269dc2cbab8f73cebfec42ecdd5cd5dd109b 以降です。
# まだ、YM2203のステレオ化とデバッガがおかしくなってる問題が積み残しです…

>>武田さん
お疲れ様です。
今のところ2/13分まで取り込んでありますが、これからコードを見ていきます。

場合によっては、こちら担当分のコードをざっくりいじります。

498 :武田 ◆bnZpPXJze51u :2016/02/25(木) 02:45:39.26
>>492
次のリリースで修正します。

>>Artane,さん
よろしくお願いいたします。
こっちもFM8の取り込みしないとなあ。

499 :ナイコンさん:2016/02/25(木) 13:41:54.09
Xpとか使ってると200の時にはなかった遅延とか気になるんだよねぇ
気にならない人はいいのかもしれんけど

500 :ナイコンさん:2016/02/25(木) 15:24:08.20
コア間の同期まわりはXPのほうが最適化されて速いけど。HTとかオンにしちゃうと2kは2CPUと解釈して動きがギクシャクするよ。
その遅延の理由はちゃんと調べたの?フォントのアンチエイリアスとかファイアウォールとかXPはいろいろやってるから。

501 :ナイコンさん:2016/02/26(金) 00:10:30.07
Artane.さんのソースをWindows+MinGWでビルドしてみるなら、
・MSYS2を使って、pacmanでSDLやQtなどをインストールする
・ビルドにはMSYS2のMinGWシェルを使って、config_build.sh (マシン名)
・config_build.shやbuiltvars.datの、各種コマンドのパスやファイル名を必要に応じて書き換えておく
・cmakeのコマンドラインには -G "MSYS Makefiles" を付け加えておく
・make cleanやsudo make installの行はとりあえず無効にしておく
が近道ですかのう

502 :Artane. ◆1o3c8RYIzjU0 :2016/02/26(金) 00:28:03.93
武田さんの2/21版まで取り込んで、Linuxでうまく動いたので一応リリース掛けましたが、Windowsの入力周りのバグを直すのを忘れてました(;´Д`)
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160225

ビルド手順について、文書を付けておきましたが、まだまだ不十分です。

>>501
とりあえず、仮想マシン上のMinGW(MSYS2ではない)でやって見てますが、どうも色んな物が絡んでてうまく行かないですね。
クロスビルドだと簡単な所まで持ち込んでるのですが…(;´Д`)
ccacheとかそういうのがいろいろ絡みついてて…結構いろいろ手直しが必要かも。

次のリリースは、Windowsネィティブビルドでの問題を解消してからやったほうがいいかも…と思ってます。

503 :武田 ◆bnZpPXJze51u :2016/02/26(金) 00:56:09.01
>>492
今晩のリリースで修正いたしました。

504 :武田 ◆bnZpPXJze51u :2016/02/26(金) 01:11:28.45
最近は、winmain周りの整理とか、各クラスのメソッド名の整理とか、
色々コードの整理を進めていますが。

VC++6の頃のコードから引っ張っている関係で、自前で定義した
uint8/16/32とかも、新しい標準のuint8_tなどに変更しようか、とか
structやtypedef structの名前も、_s,_tに整理しようか、とか、
色々考えあぐねてます。
私の方は、まあ一括変換してしまえば済むのですが。。。

505 :Artane. ◆1o3c8RYIzjU0 :2016/02/26(金) 04:39:43.95
>>502
補足。
やっとこさ、VirtualBox上のWindows10で、MinGW(2でもMSYSでもない)を使ってビルドが出来て、とりあえずは動くように出来ました。

今さっきgithubとpikacodeにコミットした物です。
クロスビルド側やLinuxビルド側でエラー吐かないかチェックしています。
その後に、Windows10側でフルビルドしてみる予定です。

素のMinGWだと、色々やらないといけない用意がありますね。
後で、昨日書いた文書に追記していきますね。
リリース自体は武田さんの最新を取り込んでから。

506 :ナイコンさん:2016/02/26(金) 13:08:37.30
>>500
そういう無駄な処理が増えてるから古いOSにはない遅延を感じるんだよね
わかる?

507 :Artane. ◆1o3c8RYIzjU0 :2016/02/26(金) 14:31:25.03
Qt向けCommon Source Code Projectのビルド方法を、こんな感じで書いてみました。
http://pastebin.com/PnnHNsrz
github/pikacodeの方にもアップロード済みです。

508 :ナイコンさん:2016/02/26(金) 15:21:37.95
>>506
原因が分らなかったんだろ?w

509 :Artane. ◆1o3c8RYIzjU0 :2016/02/27(土) 00:36:14.95
>504
お疲れ様です。
26日変更分まで、こちらでも取り込みました。

https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160226
・Windows上のMinGW32でのビルドとビルドしたものの動作を確認しています。
・Windows版は、SDL 2.0.4ベースになってます。
・ヘルプ画面のフォントサイズを見直しました。
・武田さん配布のバイナリに添付されてる、キーコードやBIOSの配置に関する文書を、こちらでも添付・ヘルプメニューから見れるようにしました。
・25日ぶんからですが、キーコードの設定やジョイスティックの設定を入れました(とは言え不十分な気がする)
・FM-7系に関して、一部のキー配置が不適切だったのを直しました。
・その他諸々
バイナリは、最終的なものを今ビルドしてます…明日朝か夕方にアップロードします。

510 :Artane. ◆1o3c8RYIzjU0 :2016/02/27(土) 01:34:19.45
>>509
FM7のPSG周りで嫌なのを見つけたので、HOTFIX1を出しました。
これベースでバイナリ作りなおしてリリースします。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160226_HOTFIX1

511 :Artane. ◆1o3c8RYIzjU0 :2016/02/27(土) 09:21:03.26
>>510
バイナリをアップロードしました。
https://www.sendspace.com/file/w9cqpb
or
http://www1.axfc.net/u/3625609

MD5SUM: b78f3f0e5d6a36311b4eadcc4b9ec4d2
SHA256SUM: 6e6829d5d776d80c667bef5c6cb49183e820f92ff86ac6d89f387d9b96570608

512 :ナイコンさん:2016/02/27(土) 16:09:32.90
>>503
ありがとうございます
確認OKでした

513 :ナイコンさん:2016/02/27(土) 17:35:45.90
>>511
ビルド済みバイナリの音量調整が挙動不審のような気がします。Windows用もLinux用も。
ある音源のLを最大、Rを最小に設定しても、一度バイナリを終了させて次回起動すると設定位置が違っていたりとか。
あと、武田さんのバイナリみたいに「Reset」ボタンか何かあると嬉しいです。

514 :Artane. ◆1o3c8RYIzjU0 :2016/02/27(土) 21:00:14.57
>>513
確かにそうですね。
じっくり調査していきますね(´・ω・`)
後、リセットボタンは了解です。
やれるかどうか調べてみます。

515 :Artane. ◆1o3c8RYIzjU0 :2016/02/27(土) 21:03:41.16
>>513
追伸ですが、私のQt版では、左右の音量調整ではなく、

左が音量
右がバランス 

になっています。(これからウィジェットの方向を縦から横にするので、ラベルを貼る事が出来ると思いますが)

デフォルトだと音量が物凄く大きくなる場合があったので…

516 :武田 ◆bnZpPXJze51u :2016/03/01(火) 00:34:38.25
再びもりっと書き換えました、ほぼ全ファイルが更新されています。
ご迷惑おかけします>Artane.さん
今後の統合作業が楽になるかと思いますので、今回ばかりはご容赦ください。

取り敢えず、VM以下については、今回の修正でほぼ統合完了できそうです。
余りに修正箇所が多いので、vm以下、win32以下のファイルについては、
diff/patchするのでなく、丸ごとそのままコピーした上で、
以下のまだ差がある部分のみ、個別に再度修正していただく方が簡単かと思います。

vm/ex80/display.cpp 半角カナのコメント部(どうしましょうか?)
vm/fm7/fm7.cpp connect_bus()の、2DDの条件は40/40EX/40SXで正しい?
vm/pasopia/display.cpp emu->get_screen_buffer()で取得したバッファのNULLチェックは必要?
vm/pasopia7/display.cpp emu->get_screen_buffer()で取得したバッファのNULLチェックは必要?
vm/pc8801/pc8801.cpp/h dummycpuの追加(多分こちらには取り込まないです)
vm/tk80bs/display.cpp 黒色を0でなくRGB_COLOR()で定義しているのは必要?
vm/x1/display.cpp/h text_bak, cg_bakの追加(まだ保留中、X1だけでいいのか?)

vm/datarec.cpp update_event()で、register_event()の引数のsample_usecを*2.0しているのは必要?
vm/event.cpp cancel_event()のエラーメッセージのデバイス名表示
vm/ym2203.cpp mix周りの最適化の追加

517 :武田 ◆bnZpPXJze51u :2016/03/01(火) 00:38:26.86
vm/dummydevice.cpp/hについては、vm/fm7以下にに移動させていただきました。

EMUクラスについても、多少統合を進めています。
get_led_status()も取り込んでいます。
なお、SUPPORT_DUMMY_DEVICE_LEDは、USE_LED_DEVICEとして取り込みました。

debugger.cppの統合についてはまだ時間が掛かりそうですが、
PostMessage(), GetAsyncKeyState()を無造作に使っていた箇所は
win32/osdに入れました。

common.cpp/hも、今回の修正で多少は統合が進むといいなあと。
型定義周りは随分シンプルにできるかと思います。

518 :武田 ◆bnZpPXJze51u :2016/03/01(火) 01:04:42.36
書き忘れ。

get_long_full_path_name()と、ついでにget_parent_dir()は
common.cpp/hに放り込みましたが、よろしかったでしょうか?

519 :Artane. ◆1o3c8RYIzjU0 :2016/03/01(火) 19:27:17.22
お疲れ様です。
後で一通り見ていきます。
今は微妙に風邪引いて寝込んでおりますので…(;´Д`)

520 :ナイコンさん:2016/03/02(水) 05:05:26.26
eX1turboのトイポップをしばらくコントローラーでプレイしていると、
上に移動しっぱなしになり操作不能になります

521 :Artane. ◆1o3c8RYIzjU0 :2016/03/02(水) 12:10:01.07
>>武田さん
まだ風邪がアレで作業がどのくらい出来るかわかりませんが…
>vm/ex80/display.cpp 半角カナのコメント部(どうしましょうか?)
問題ありません。
こちらではUTF-8でソースコードのリポジトリ等を維持してますので、コンパイラは適切に処理します。

>vm/fm7/fm7.cpp connect_bus()の、2DDの条件は40/40EX/40SXで正しい?
20/20EX/40/40EX/40SXです。

>vm/pasopia/display.cpp emu->get_screen_buffer()で取得したバッファのNULLチェックは必要?
>vm/pasopia7/display.cpp emu->get_screen_buffer()で取得したバッファのNULLチェックは必要?

基本的にNULLチェックは実装すべきと考えます。
NULLに引っかかった場合、異常終了させない&取得先の作業者がNULLを使う可能性を考慮しておくのは基本かと。

522 :Artane. ◆1o3c8RYIzjU0 :2016/03/02(水) 12:18:02.68
>vm/pc8801/pc8801.cpp/h dummycpuの追加(多分こちらには取り込まないです)
そこはポリシーの違いということで…88に限らず最初のCPUのクロックが8MHz(6MHz?)以上だとスケジューラの負荷が高くなりすぎる感じがありますが。

>vm/x1/display.cpp/h text_bak, cg_bakの追加(まだ保留中、X1だけでいいのか?)
今のところHD46505を使ってるマシンでは、チラつきの可能性があります。

>vm/tk80bs/display.cpp 黒色を0でなくRGB_COLOR()で定義しているのは必要?
スクリーンやLEDの表示と下の層の間にアルファブレンディングを使って透過させてるので、
黒と透明を分けて後者をRGB_COLOR(0,0,0)で定めるのは、必要です。

>vm/datarec.cpp update_event()で、register_event()の引数のsample_usecを*2.0しているのは必要?
真因を追及できていませんが、必要です。仕様書通りに実装して、武田さん版datarec.cppに乗せると、倍速になってしまいます。

523 :ナイコンさん:2016/03/02(水) 21:09:54.03
>>522
現在のQt版では、msx1でCSAVEした時に鳴る音は正常だけど生成されるWAVは倍速っぽい。それのCLOADを試みても認識しない。
・datarec.cpp 157行目あたり(DATAREC::event_callback)の buffer_ptr++; が余分。これを削除する。
・datarec.cpp 345行目あたり(DATAREC::update_event)の * 2.0 を削除する。
これでCSAVEもCLOADもOKになる。たぶん。

524 :Artane. ◆1o3c8RYIzjU0 :2016/03/03(木) 00:03:28.10
>>523
ありがとうございます。
武田さんの3/1版に最大限合わせた(src/vm/fm7/*とvm/*.[cpp|h]以外を可能なだけ武田さん版3/1版にした)物をgithubにアップロードしました。
# なんでこの構成かといえば、それは、いつもの手癖でdiffを使って検討した後で
# patchコマンドを使ってしまい、後から「あ・・(;゜д゜)」となった上に、それに気がついた時は既にFM7がビルドできてたから。

とりあえず、X1とFM-7では問題なくテープを読み込めるようになっています。
他のVMは今ビルド中です。
commit ad9610e1a12f39598e5074ece02dedfc292c3855 にてお試しを。

後、今回の物から(多分)LLVM CLANGでもビルドできなくはないようにしました。リンカ周りがよく分かってないので微妙な表現ですが。

525 :523:2016/03/03(木) 01:04:58.03
>>524
「現在のQt版」ってのはアカン書き方でした。「リリースされたQt版バイナリの中で最新の物」に修正。
commit ad9610e(以下略)のソースを元にしてビルドした物はCSAVEもCLOADもOKです。

ところで、今は Paste from Clipboard が効いてなかったりしますか?

526 :Artane. ◆1o3c8RYIzjU0 :2016/03/03(木) 02:18:40.08
お疲れ様です。以下のドキュメントを次のリリースから添付お願いします>武田さん
https://github.com/Artanejp/common_source_project-fm7/tree/master/doc/VMs
にある、
fm7.txt
fm77av.txt
fm8.txt
です。
>>525
ありがとうございます。
確かにペーストが動作してませんね(;´Д`)
ちょっと調べてみますね(;´Д`)

527 :Artane. ◆1o3c8RYIzjU0 :2016/03/05(土) 13:33:29.81
3/1版ベースでリリースしました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160304
クリップボードからの貼付けに再対応しました。
音量の問題も解決したとおもいます。

528 :ナイコンさん:2016/03/05(土) 17:41:35.32
>>527
CSP_BUILD_20160304-1.7zのバイナリをWindowsで試して気づいた点だけ書いておきます。
・Paste from Clipboard で改行が効いてない?
・各音源のVolumeの位置:iniファイルが無い状態での初期位置は右端だが、Resetボタンを押すと中央になる
・Resetボタンは音源ごとに2つではなく、全音源+Mainボリュームまとめて1個でもいいんじゃないかなあ。好みの問題?

あと、今回の更新内容とは関係ありませんが、
・Audio Deviceの名前に日本語が含まれる場合、Windowsでコマンドプロンプトのログがその箇所だけ文字化け。テープのwavファイル名が日本語の場合は化けない。
・起動直後のメッセージ、printfとAGAR_LOG_INFOとAGAR_LOG_DEBUGとで同じ内容が複数回出力されているのは意味があるのか
・起動直後のメッセージには -? について書かれてるけど、コマンドプロンプトからの起動で -? を付けても付けなくても変わらないように見える
・ttp://doc.qt.io/qt-5/qapplication.html#QApplication を見ると、src/qt/common/qt_main.cppの最後のほうのmainを呼び出す第1引数は0よりも1のほうが良いのではないだろうか。長さ0の文字列で良いのかどうかはわからないけど。
・readme.qt.txtやREADMEの 0. About には Built with Visual Studio って書いてあるけど、もう今はMinGWですよね

529 :ナイコンさん:2016/03/05(土) 17:45:07.83
Windows2000キター

【PC-98】改造Neko Project 21でWindows2000を動かす【エミュレータ】
http://www.nico video.jp/watch/sm28331696

,

530 :528:2016/03/05(土) 21:21:11.25
追記。
・cygwinの端末から起動させると、リアルタイムでログ表示はされない。終了時にまとめて出てくる。日本語のオーディオデバイス名は化けないが日本語のwavファイル名は化ける。そこまで気にする人はいないと思うけど。

531 :Artane. ◆1o3c8RYIzjU0 :2016/03/06(日) 13:01:56.55
>>530
ありがとうございます。
幾つかの不具合は結構拙い気がするので、後で作業始められたら直しますね。

532 :ナイコンさん:2016/03/07(月) 23:15:15.57
Artane.さんへ。
>[FM7] 漢字プリンタの実装(ったって、資料ないな(;´Д`))
http://software.aufheben.info/ooholdpc/fmpr201.html
および、
http://www.fmworld.net/biz/printer/support/manual/#dot のFMPR-671B等の取扱説明書の「FMモードコマンド一覧表」
は役に立つでしょうか。
「FMプリンタシーケンス リファレンスマニュアル(シリアルプリンタ編)」
があればモアベターかもしれませんけど見つかりませんでした!

533 :武田 ◆bnZpPXJze51u :2016/03/08(火) 02:58:11.71
最近はSCSI絡みの作業をしています。
FMR-30/50のHDDが本命ですが、こっちも進めてます。
一通り動くようになったところでリリース予定です。

http://homepage3.nifty.com/takeda-toshiya/00tmp/160308-1.png

#当面は、the Manholeがちゃんと動けば良し、という方針で。
#中学の時に大好きだったソフトです。

534 :ナイコンさん:2016/03/08(火) 04:21:30.37
>>533
おおこれは期待

535 :ナイコンさん:2016/03/08(火) 12:53:33.00
FM-77AVのエミュだとアクションゲームでキー離したら止まるようになります?

536 :ナイコンさん:2016/03/08(火) 13:29:37.30
そうであればエミュレートしてないって事になるな

537 :ナイコンさん:2016/03/08(火) 16:06:59.51
>>535
ニュートロンやってみたけど全く止まらんw

538 :ナイコンさん:2016/03/08(火) 17:33:57.41
エミュに自動「5」入力機能があれば…

いや、でも止まらなくてこそFM-7だな。

539 :ナイコンさん:2016/03/08(火) 18:12:40.96
友人のFM7で遊んだドアドアが猛烈難しかった思い出
キー入力はX1の方がダメダメかも

540 :ナイコンさん:2016/03/08(火) 18:26:08.40
別に5じゃなくても何かキー入力あればそれでいいんだがな

541 :ナイコンさん:2016/03/08(火) 18:31:52.63
FM-77AVから止まるようになったんですよね
ドアドアやってみましたけど他のキー押さないと止まりませんでした
って事はやっぱエミュレートされてないんですね

542 :ナイコンさん:2016/03/08(火) 18:56:00.20
FM-7用のゲームをそのままFM-77AVで遊んでも止まらないよ

「FM-77AVなら止まる」っていうのは
「FM-77AVなら止まる機能」を使うようにプログラムを組んでこそ、FM-77AVで止まるようになる

「FM-77AVなら止まるようにプログラムを組んでいないFM-7用のゲーム」を
FM-77AVで遊んでも、止まらない

よって、
>>って事はやっぱエミュレートされてないんですね
んな事ぁない

お分かり?

543 :ナイコンさん:2016/03/08(火) 19:42:49.28
なるほどたしかにニュートロンは77AV用じゃないもんな

544 :ナイコンさん:2016/03/08(火) 21:39:59.58
ニートロンども古パソ弄ってないで仕事探せ

545 :ナイコンさん:2016/03/08(火) 21:49:32.70
発売前の広告にはニュートンって書かれてたのに

546 :ニュートンだけに:2016/03/09(水) 07:24:08.99
ロが落下しました

547 :ナイコンさん:2016/03/09(水) 15:48:17.58
落ちてもいいように予備置いときますね
品呂ロ口□

548 :Artane. ◆1o3c8RYIzjU0 :2016/03/10(木) 01:50:05.56
色々アイコンを入れ込み始めました。
GPLv2にしても揉めない5インチフロッピーとかカセットテープとか諸々をこれから探していきますね(今はmateデスクトップ環境のアイコンがGPLなので、一部のバンドルを始めました)

>>528
とりあえず、
・cygwinをまだインストール出来てないので>>530はまだ現象確認出来てない
・ペーストに関してはこれから
・Windows(10)上でのビルドチェックや動作テストがまだ

という状況ですが、他はとりあえず出来たと思います(十分なテストは明日以降…おやすみなさい(;´Д`))

>>532
ありがとうございます!
なんとかFMPR-201の最低限の部分だけでも(後から)実装しますね。

549 :Artane. ◆1o3c8RYIzjU0 :2016/03/10(木) 01:51:22.74
>>538
やってもいいですけどー(;´Д`)
Joystickからキーボードへの変換とか何とか先にやりたい物ではあります。

550 :Artane. ◆1o3c8RYIzjU0 :2016/03/10(木) 01:55:12.89
>>535
既出ですが、AVのキーエンコーダのリアルタイムスキャン機能を使ってるソフトじゃないと、キーを離しても止まらないのは7だろうが8だろうがAV以降だろうが変わらない。というのが正しいです。

そういえば、
キーエンコーダで何か(実装的な)問題があった気がするのですが、忘れてそのままにしてしまいました_| ̄|○
後から追々直していきます、すいません。

551 :ナイコンさん:2016/03/11(金) 10:23:47.57
>>549
ひまがあったらお願いw

552 :Artane. ◆1o3c8RYIzjU0 :2016/03/11(金) 14:41:27.15
リリース掛けました
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160311
とりあえず、武田さん版3/5ヴァージョンをベースに色々と反映させました。ありがとうございます>皆様

>>551
はーい(^_^;

553 :ナイコンさん:2016/03/11(金) 21:13:07.16
リリースノートには Built with Visual Studio が残っているのだ

554 :ナイコンさん:2016/03/12(土) 01:48:25.55
>>552
ボリューム設定、各音源のVolumeを0dbや-40dbにしてBalanceを左端や右端にしてexeを終わらせると、次回は異なる設定になってしまいます。
VolumeかBalanceのどちらか一方を中央値にしておけば、もう片方を端の値に設定しても大丈夫っぽいです。
内部で最大値や最小値の制限に引っかかっているのでしょうか。

555 :武田 ◆bnZpPXJze51u :2016/03/16(水) 03:25:34.88
>>533
やっとこさ、CD-ROM^2が安定して動くようになりましたのでリリース。
思ったより時間が掛かってしまいました(苦笑)

556 :ナイコンさん:2016/03/16(水) 22:11:41.22
LEGEND達が普通に固定で書き込んでてワラタ

557 :ナイコンさん:2016/03/16(水) 22:41:45.53
>>555
ISO、WAV形式だと起動できないんだけど
対応してないのかな

558 :武田 ◆bnZpPXJze51u :2016/03/17(木) 00:32:07.35
>>557
すみません、現状では対応しておりません。

559 :武田 ◆bnZpPXJze51u :2016/03/17(木) 00:51:11.47
Artane.さんの、vm/fm7/*.*を除く、3/11までの修正を取り込みました。
fm7関係は、reset()の問題が解決するまで様子見です。m(_ _)m

今回の取り込みで、共通部分の統合作業がほぼ完了できたかと思います。
多大なご協力、まことにありがとうございました>Artane.さん
以下、Artane.さんにお願いしたい残項目についてコメントします。

fp1100, mz3500のd_mainですが、mainが予約語でビルド上の問題があるということでしょうか?
取り敢えず、名前空間の都合でmain,subをmainbus,subbusに変更しました。

mz80b.hですが、mz80b/2200ではマウスは使っていません。
#define USE_MOUSEは不要です。

beep.h, datarec.h, event.h, hd46505.cpp, mb8877.cpp/h, pcm1bit.h, v99x8.cpp, vm.h,
z80.h, z80dma.cpp, z80sio.hの差違は有意なものではないようです。
これらはdiff/patchでなくそのまま取り込みください。

各デバイスのヘッダーのget_device_name()ですが、_T()はそのままにして頂ければと思います。
引数の(void)も、特にビルド上の問題がなければそのままで。

disk.cpp/hですが、太陽の神殿?の例外処理を先行してを取り込みました。
残りの差違は有意なものではないので、こちらもそのまま取り込みください。

ym2203.cpp/hですが、私の方でも左右のボリュームの設定をサポート済みですので、
出来ればそのまま取り込んで頂ければと思います。

device.h, mc6809.cpp/hはマージ漏れでしょうか?
最近の版では、幾つかの関数名にget_が追加されています。
こちらもそのまま取り込み可能かご確認お願いいたします。(debugger.cppの方も要修正です)

560 :武田 ◆bnZpPXJze51u :2016/03/17(木) 00:56:38.05
common.cpp/h, emu.cpp/h, fileio.cpp/hの差分を取り込みました。
ほぼそのまま取り込み可能ではないかと思います、ご確認お願いいたします。
(emu.cpp内の、FM7のreset()のtemporaryな例外処理は除きます、直せそうですか?)

common_gcc.h, common_msc.hは参照されていないようですが、廃止でしょうか?

emu.cppですが、get_long_full_path_name()は、common.cpp/hで定義されています。
ここでのexternは必要でしょうか?
emu.hですが、SDL.h, simd_types.hの#includeは、qt/osd.hに移動をお願いいたします。
SOCKET_MAX, SOCKET_BUFFER_MAXの#defineも同様です。
また、#include "vm/disk.h"は必要でしょうか?

config.cpp/hですが、できるだけ差分を取り込みました。
マスターボリュームについては後日取り込み方を検討します。
keyboard_typeはvm側でどう使うかちょっと要検討。
initialize_config()ですが、最初にmemset(&config, 0, sizeof(config_t))をしているので、
パラメータにfalseや0を指定する類の初期化は敢えてやっていません。
ワンボードマイコンでは、常に等倍ウィンドウなので、window_modeはload/saveしていません。
fmgen.dllはGUI上で変更しない値なので、saveしていません。
(判ってる人だけ、iniファイルを直接書き換えたら参照しますよ、というスタンスです)

debugger.cppは、私の方の実装にできるだけ合わせて頂いておりますが(多謝多謝)、
それでもまだまだ統合は難しそうですね。
後日細かい差違については、取り込める範囲で取り込みます。

各フォルダのCMakeLists.txtですが、これは取り込んだ方がよろしいでしょうか?

561 :ナイコンさん:2016/03/17(木) 01:41:59.01
>>558
そのうち対応してくれるよう願ってます

562 :ナイコンさん:2016/03/17(木) 08:56:41.28
プライオリティ低いって宣言してあるんだから
吸い出し直せよ

563 :ナイコンさん:2016/03/17(木) 11:49:50.25
プログラムまったく分からんけどここおもすろい

564 :Artane. ◆1o3c8RYIzjU0 :2016/03/18(金) 14:26:40.50
>>560
ありがとうございます。
先週末から立て続けに私用や別件が色々あって、現在こちらの作業をストップしています。
多分、日曜辺りから再開出来ると思います。
FM-7のリセットの件ですが、何でこうなるのかを追いかけて行く必要があるので、時間がかかると思います。
一回目のVM構築と二回目の構築で、全く違う(それこそ上位ビットが全く違う)アドレスにクラスが配置されているので…
色々試してみて、何が悪くてなのかを見ないといけないと言う。
他の件は後程。

565 :Artane. ◆1o3c8RYIzjU0 :2016/03/18(金) 21:25:57.30
>>559
お疲れ様です。
>今回の取り込みで、共通部分の統合作業がほぼ完了できたかと思います。
>多大なご協力、まことにありがとうございました>Artane.さん

いえいえ…

>以下、Artane.さんにお願いしたい残項目についてコメントします。
>fp1100, mz3500のd_mainですが、mainが予約語でビルド上の問題があるということでしょうか?
>取り敢えず、名前空間の都合でmain,subをmainbus,subbusに変更しました。

名前空間上の問題なので、これで大丈夫だと思います(ビルド等はこれからなので確定にはしませんが)

>mz80b.hですが、mz80b/2200ではマウスは使っていません。
>#define USE_MOUSEは不要です。
わかりました。が(まだコミットはかけてない)、これもビルドテストまで確定はしません。

>beep.h, datarec.h, event.h, hd46505.cpp, mb8877.cpp/h, pcm1bit.h, v99x8.cpp, vm.h,
z80.h, z80dma.cpp, z80sio.hの差違は有意なものではないようです。
>これらはdiff/patchでなくそのまま取り込みください。

了解です。そのように、コミット前ですが作業しました。(コミットとgithubへのアップロードをお待ちください)

>各デバイスのヘッダーのget_device_name()ですが、_T()はそのままにして頂ければと思います。
>引数の(void)も、特にビルド上の問題がなければそのままで。

わかりました。私の方でチョンボしてなければなおってる筈です。後でもう少しチェックします(-_-;

566 :Artane. ◆1o3c8RYIzjU0 :2016/03/18(金) 21:36:41.39
>>559
>disk.cpp/hですが、太陽の神殿?の例外処理を先行してを取り込みました。
>残りの差違は有意なものではないので、こちらもそのまま取り込みください。
わかりました…ここは、ちょっと幾つか動作確認をするまでお待ちください。

>ym2203.cpp/hですが、私の方でも左右のボリュームの設定をサポート済みですので、
>出来ればそのまま取り込んで頂ければと思います。
了解しました。

>device.h, mc6809.cpp/hはマージ漏れでしょうか?
>最近の版では、幾つかの関数名にget_が追加されています。
>こちらもそのまま取り込み可能かご確認お願いいたします。(debugger.cppの方も要修正です)

多分そうだと思います。既に、マージ作業を行って大丈夫っぽくできました(まだFM7のテストビルドしかしてない)

567 :Artane. ◆1o3c8RYIzjU0 :2016/03/18(金) 21:38:12.96
>>560
つずきます

>common.cpp/h, emu.cpp/h, fileio.cpp/hの差分を取り込みました。
>ほぼそのまま取り込み可能ではないかと思います、ご確認お願いいたします。

大丈夫だと思われます。全数ビルドまで確定については保留しますが…

>(emu.cpp内の、FM7のreset()のtemporaryな例外処理は除きます、直せそうですか?)
直します。本格作業は日曜以降になるかも。運が良ければ今日やれるという漢字です。


>common_gcc.h, common_msc.hは参照されていないようですが、廃止でしょうか?
廃止ということで。
まぁ、処理系ごとに固有のヘッダを作ったほうが移植性は上がるんですけどね…結構悩ましい命題ですね。

>emu.cppですが、get_long_full_path_name()は、common.cpp/hで定義されています。
>ここでのexternは必要でしょうか?
外してビルドしてみましたが、不要ですね。

>emu.hですが、SDL.h, simd_types.hの#includeは、qt/osd.hに移動をお願いいたします。
>SOCKET_MAX, SOCKET_BUFFER_MAXの#defineも同様です。
わかりました。移動させます。

>また、#include "vm/disk.h"は必要でしょうか?
多分必要ないと思います…なんかの作業で必要になって放置していたんだと思います…_| ̄|●

568 :ナイコンさん:2016/03/18(金) 21:44:09.69
>>560
>config.cpp/hですが、できるだけ差分を取り込みました。
>マスターボリュームについては後日取り込み方を検討します。

ありがとうございます。

>keyboard_typeはvm側でどう使うかちょっと要検討。
これは難しい問題です。ノートパソコンやHHK(PC84タイプ)のようにテンキー等がないキーボードのサポートという問題でして、近々こちらで試験的な実装をします。
多分、OSDとVM両方に影響が…かからずにOSDだけが被るようにしたいです。
ちょうど運良く知人から捨てるつもりの骨董品ノーパソ(販売が十年以上前)をもらえたので、本格的に話を進められます。

>initialize_config()ですが、最初にmemset(&config, 0, sizeof(config_t))をしているので、
>パラメータにfalseや0を指定する類の初期化は敢えてやっていません。
了解です。falseの扱いについては、C++11などの標準的なC++の規格で(intfoo_t)0になってましたっけ?

>ワンボードマイコンでは、常に等倍ウィンドウなので、window_modeはload/saveしていません。
ここをどうするか考えさせてくださいませ。多分それでいいと思うのですが…

>fmgen.dllはGUI上で変更しない値なので、saveしていません。
>(判ってる人だけ、iniファイルを直接書き換えたら参照しますよ、というスタンスです)
了解です。

569 :Artane. ◆1o3c8RYIzjU0 :2016/03/18(金) 21:50:13.85
>>660
>debugger.cppは、私の方の実装にできるだけ合わせて頂いておりますが(多謝多謝)、
>それでもまだまだ統合は難しそうですね。

ポイントは二つあって、*あくまでQt版に限るなら*
@スレッドモデルをQThreadの派生型の一部にしたい(Qtが使ってるメッセージングが使えるので)。
AVT100とかの端末エミュレーションが出来るウイジェットがあったら使えば楽なのですが、めちゃくちゃ分量のあるウイジェットしか見つけられてないから自前の実装に頼るしか無い

@は、EMU::open_debugge()の中でスレッドを作れば済むんだけど、各クラスの依存関係もあるしどうしたものかな…と言うことで考え中です。
Aは、一時期QTermWidgetと言う外部ウイジェットを使ってみたけど使いモノにならないので、何らかのQtベースの仮想端末ソフトを探してきて新しく作る必要がありそうです。

と言う感じです。結構ご苦労おかけして申し訳ございません。

570 :Artane. ◆1o3c8RYIzjU0 :2016/03/18(金) 22:07:14.21
>>560
>各フォルダのCMakeLists.txtですが、これは取り込んだ方がよろしいでしょうか?
取り込むと、Qt抜きのVisual C++でもスクリプトベースの(VCXProjなしの)ビルドができるようになるので、お願いします。

後、疑問点ですが、MZ-2500に関して、MZT形式のファイルは読み込まないということでいいのでしょうか?

571 :ナイコンさん:2016/03/19(土) 20:52:10.21
mz2800.exeを、iniファイルもROMファイルも無しで実行させたら落ちました。
mz2800.cppの131行目を = (PRNFILE *)printerじゃなくて = new PRNFILE(this, emu);に修正すればバッチグーでしょうか。
あと、プリンタの出力先を変更しても一旦Resetしないと反映されないのでしょうか?

572 :Artane. ◆1o3c8RYIzjU0 :2016/03/19(土) 23:12:16.21
とりあえず、今朝方コミットした奴で、FM-7系に関する件の問題は解決できたと思います。
かなり際どいタイミングで色々廻していたのが悪かったので…ものすごい低速(500MHz相当2コアとか)のホストPCでの挙動チェックはこれから。

>>571
帰宅したら、落ちる現象は確認してみます(私の領分のテストビルドをしたまま出掛けたのと、そういう可能性なら多分私の方でも起こるので。)。
あと、プリンターは基本的にリセットしないと反映されないようになっている筈ですよ。
VMの中身を組み替えるので。

573 :Artane. ◆1o3c8RYIzjU0 :2016/03/20(日) 00:45:09.18
>>571
今確認できました。
ご指摘のとおりですね。
修正しました、ありがとうございます。

後、min()に対する引数の型定義が曖昧とかmath.hをinclude必要だったとかの問題がgccだと出てくるので、修正しました>武田さん

commit aed640729a25ddff0a2e90005ad33d099ec4a8d8 にて。

574 :ナイコンさん:2016/03/20(日) 19:48:20.65
Artane.さんのほうのバイナリではメニューにPrinter (Need RESET)って書いてあるんですね。わかりやすい。
ただ、未実装のプリンタを選択できないようにする仕組みは個別対応が必要なので入ってない、といった感じでしょうか。

ところでまた別の話になりますが、config_build.shではforループの中でcmakeを2回実行しているようです。
teeに渡すオプション以外、全く同じ内容のように見えますが…… Why?

575 :Artane. ◆1o3c8RYIzjU0 :2016/03/21(月) 00:20:05.78
>>574
>ただ、未実装のプリンタを選択できないようにする仕組みは個別対応が必要なので入ってない、といった感じでしょうか。

面倒くさいからやってないだけなので、時期を見てやります。

>ところでまた別の話になりますが、config_build.shではforループの中でcmakeを2回実行しているようです。
>teeに渡すオプション以外、全く同じ内容のように見えますが…… Why?

コンパイラとかリンカについてデフォルトと違うものを設定すると、他の設定がリセットされてしまうので、もう一度cmakeを通す必要が出ます。
ひょっとしたらccmake固有の問題なのかも知れませんが、安全側に倒しておいてあります。

576 :umaiboux:2016/03/21(月) 21:47:59.08
fmgenでPSG(SSG)を含むインスタンスを複数生成すると、PSGの音量設定が共通になってしまうようです。
src/vm/fmgen/psg.h:
・enveloptable_l, enveloptable_r, EmitTableL, EmitTableRのstatic指定をコメントアウトする。
src/vm/fmgen/psg.cpp:
・そのままコンパイルするとエラーになるので、クラスの外で上記配列変数を設定している箇所をコメントアウトする。
これで独立した音量設定になると思うんだけど大丈夫かなあ?

577 :武田 ◆bnZpPXJze51u :2016/03/23(水) 03:04:15.01
>>571
>>576
ありがとうございます、Artane.さんの方で修正された内容を
取り込ませていただきました。

MZ-2500のMZTですが、実際には使い道はないけど、
(テープで供給されたMZ-2500専用ソフトなんてあるのかしら?)
動作はするので残しているという微妙な扱いになってます。

予定はないけど、もしMZ-2500の80B/2000モードを実装することが
あれば、そのときに初めて意味が出てくるかもしれません。
もしくは、M25-BASICを組み込まずに動作する自作ソフトを公開する
というニッチな需要があるかも(笑)

578 :Artane. ◆1o3c8RYIzjU0 :2016/03/25(金) 22:29:08.72
今さっき、SNAPSHOT 2016-03-25をリリースしました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160325

で、今回はバブルカセットをFM-8に仮実装しました。
リードライトは可能になってますが、挙動が微妙に変です。例えば、
FILES

579 :Artane. ◆1o3c8RYIzjU0 :2016/03/25(金) 22:30:50.02
# 何か古のウィルス対策コードに引っかかったので再度かきます。
今さっき、SNAPSHOT 2016-03-25をリリースしました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160325

で、今回はバブルカセットをFM-8に仮実装しました。
リードライトは可能になってますが、挙動が微妙に変です。例えば、
FILESでBUB0とBUB1が同じだったり、32KBと128KBのバブルカセットの内FM-8では32KBしか受け付けない辺りを実装してないするので、複数のバブルカセットはまだ厳しいです。
で、今回フラグとして、vm/fm7/fm7.hにUSE_BUBBLE1(1〜8を想定)を新設しました。
とりあえず、バブルカセット自体はFM-7/77でもアクセスはできるらしいですし、FM-11ので、どうしようかとは思ってます。

後、UI関連ですが、同じような内容を#ifdefが違うからと重複コンパイルしてる所がQt版だと猛烈にありますので、近い内にバッサリ構造を変えようと思ってます。
具体的には、一回UIやタスクなどをビルドしてライブラリにしたら、後はマシン単位のVMやら何やらをビルドして、マシン固有のUI定義やその他幾つかの共通ルーチンを
コンパイルしてリンクする…と言うのが、理想像です。
UI側内部での挙動支配は#ifdefではなく、foo.hが指定するUSE_HOGEHOGEによって定義されるstaticでboolなフラグで行うとか考えてます。
場合によっては、Unixでのdlopen()みたいな構造を使うかも。
流石に、WindowsとLinuxのビルドに五時間近く(ccacheを使って尚!)と言うのは洒落にならないので、うまくすると、半分以下の時間に圧縮できますからね。
# 最初から、qmlみたいなスクリプトベースのUI定義を使ってれば良かったんじゃ(´・ω・`)
# とか突っ込まないでください(;∀;)

vm/foo/foo.hで色々とマシン要件を定義してるので、ここら辺を

>>577
お疲れ様ですm(_ _)m
MZ-2500ってテープでの専用ソフトがないのですねφ(..)
電波新聞社とか出してそうなものですが。

580 :武田 ◆bnZpPXJze51u :2016/03/26(土) 02:17:15.41
作業中のネタ。
年度中くらいにはリリース出来るといいなあ、くらいです。

http://homepage3.nifty.com/takeda-toshiya/00tmp/160326-1.png

581 :ナイコンさん:2016/03/26(土) 13:31:51.89
>>580
2016/03/23のバイナリでフロッピーディスクのベタイメージ(ファイル名:FD1.dsk)に書き込みを行うと、FD1.dskは更新されません。ファイル名:FD1.dsk.D88が生成されるけどファイルサイズはFD1.dskと同じで、中身はベタイメージになってるみたいです。
ファイル名がFD1.imgの場合は普通にFD1.imgが更新されるようです。

582 :ナイコンさん:2016/03/26(土) 17:57:40.71
>>579
Qt版、>>554 の現象はそのまま残ってます

583 :Artane. ◆1o3c8RYIzjU0 :2016/03/26(土) 18:11:01.57
>>582
>>554の仰るとおりの現象が確かにありますね!!!
今やってる作業が終わったら手がけますので、しばしお待ちを。

584 :武田 ◆bnZpPXJze51u :2016/03/27(日) 08:29:45.46
>>581
ご報告ありがとうございます。
次回改版時に修正してみます。

585 :ナイコンさん:2016/03/27(日) 09:15:12.30
>>579
> で、今回フラグとして、vm/fm7/fm7.hにUSE_BUBBLE1(1〜8を想定)を新設しました。
> とりあえず、バブルカセット自体はFM-7/77でもアクセスはできるらしいですし、FM-11ので、どうしようかとは思ってます。

FM-7/NEW7 はバブル不要。
BOOT ROM に 32KBバブルから BOOT するコードが化石として残っているのみで、
実際には使えない。(F-BASIC V3.00、V3.01 の BIOS にも化石コードあり。)
XM7dash の変な所はマネする必要ない。
FM-77用には、市販はされなかったようだが 128KBバブルインタフェースカード
が開発されていて、実際に使用可能。本体 BOOT ROM にも 128KBバブルから
BOOT するコードが含まれている。
ただし、ソフトウェアが無い。F-BASIC V2.2 がそのままで BOOT すると
思われるが、それ以外には知られていない。
FM-7系はソフトないのでエミュレーションの意味ないと思われる。
FM-8では、CP/M-80、FLEX で 32KBバブルがサポートされている。

586 :Artane. ◆1o3c8RYIzjU0 :2016/03/27(日) 14:56:42.90
臨時で急ぎの仕事が入ったので、明日辺りから最低一週間は止めます(早く終わらせられれば別)

>>585
情報提供ありがとうございます。

>FM-7/NEW7 はバブル不要。
>BOOT ROM に 32KBバブルから BOOT するコードが化石として残っているのみで、
>実際には使えない。(F-BASIC V3.00、V3.01 の BIOS にも化石コードあり。)
BASICにBUBINIやBUBR,BUBWが残ってるのでどうなのかな?と思いましたが、まぁ、そうであれば入れる必要はないですね。

>FM-77用には、市販はされなかったようだが 128KBバブルインタフェースカード
>が開発されていて、実際に使用可能。本体 BOOT ROM にも 128KBバブルから
>BOOT するコードが含まれている。
>ただし、ソフトウェアが無い。F-BASIC V2.2 がそのままで BOOT すると
>思われるが、それ以外には知られていない。
>FM-7系はソフトないのでエミュレーションの意味ないと思われる。
>FM-8では、CP/M-80、FLEX で 32KBバブルがサポートされている。
FM-77の件は悩ましいことになりそうですね。テストも容易にはできなさそうですし…(F-BASIC2.x系がヤフオクで出てくるかという話になるので)
後、Z80カードにしても、試験用のディスクがあればすぐにでも実装するんですが、今は無いですしねー。
日本語通信カードは手元にはあるんですが、ROMをひっこ抜いて読みだす踏ん切りがついてない。
400ラインは理論的なコードを書いてもテスト環境も現物もないですし…(´・ω・`)

587 :ナイコンさん:2016/03/27(日) 21:32:47.10
しょうもない機械の再現やって意味あるの?

588 :ナイコンさん:2016/03/27(日) 23:16:11.82
あんたみたいなしょもない奴が生きているより有意義だぞ

589 :ナイコンさん:2016/03/27(日) 23:18:24.70
しょうもないってねぇ、昔のPCがあるから今のPCがある。そこには歴史があり、歴史に置き去りになった知恵がある

590 :ナイコンさん:2016/03/28(月) 00:33:23.63
そもそも、しょうもなくないんだよなぁ

591 :ナイコンさん:2016/03/28(月) 00:45:56.32
>>549
XM7にはある機能だけど、そこは後回しなんだ?
いや、後回しが悪いとかじゃないんですが(^-^;

592 :トマ ◆7IxBfMAVCU :2016/03/28(月) 02:33:59.36
こんばんは。
最近はツイッターしか見てなかったので2chを見るのは久々ですね。

バブルホルダユニット関連で数点、気になる記載があったので、
一応、XM7に32KB/128KBを実装してみた人としての情報を数点。
既に>>585氏が語っている点はなるべく省略します。

実機ハード的には、
32KBバブルホルダユニットが接続可能なのはFM-8のみです。
128KBバブルホルダユニットはFM-8およびFM-11シリーズに接続可能です。
FM-7/77シリーズに接続する手段は32KB/128KB共に(基本的には)用意されていません。
特に32KBバブルホルダユニットは、FM音源や、拡張IRQ制御フラグ(FMマウスなど)と
アドレスが重なってしまうため、理論的には不可能です(後述あり)。
128KBバブルホルダユニットは>>585氏が記載済。

ブートROMのみ、FM-7には32KBバブルモード、
FM-77には32KBバブルモードと128KBバブルモードが搭載されていますので、
(誤解はここから発生していたのかな?)
企画時には32KBも搭載可能にする案もあったのかもしれませんね。

(続く)

593 :ナイコンさん:2016/03/28(月) 02:36:27.34
(続き)

次に各搭載ユニット数ですが、
・32KBバブルホルダは2ユニット(#0と#1)しか装着出来ません。
・128KBバブルホルダは装着可能なカセットが2ユニット(#0と#1)、
 内部ボードとして実装可能なのが2ユニット(#2と#3)となってます。
 ただ内部ボード情報はいまいち明確でないため、
 実際に128KBバブルメモリを使用した方の情報が欲しいところです。

また、これはとある方からの情報で、dashの実装内容ですが、
ユニットを跨く場合のページアドレスの関係は、32KBと128KBとで異なります。
32KBの場合、ページアドレスの上位6bit(の下位1bit)
128KBの場合、ページアドレスの上位2bit
これがそれぞれユニット番号を現わします。
32KBの場合は#0が前半、#1が後半で64KB連続していると解釈すると良いと思います。

何が言いたいかというと、
USE_BUBBLEは1〜6(32KB:2種、128KB:4種)にしておいた方が無難だと思います、
という点です。
あと、FDDの様に物理的に一機づつ搭載するのは事実上不可能なので、
ユニット接続で分けるためのフラグというのであれば、
32KBで一つ、128KBで一つで十分だと思います。
その辺りは、実装後に予想していた仕様と異なっていた場合
訂正が面倒になると思うので、よく確認したほうが良いと思います。

>>586のZ80と日本語通信カードに関しての状況がほぼ私と同じなので
ちょっとほほえましかった(^^;;

594 :トマ ◆7IxBfMAVCU :2016/03/28(月) 02:42:31.32
あ、>>593に署名忘れてた。

おまけ

dashでは128KBバブルホルダユニットに合わせた二次元配列で用意したため、
32KBバブルホルダユニットの内部管理変数も4ユニットありますが、
後半の2ユニットに関しては完全に未使用です。
128KBバブルホルダユニットをサポートしていない本家XM7では
一次元配列の2ユニット分しか用意していないはずです。

あと、dashのFM-7/77モードの「アレ」は、
あくまでもFM音源・FMマウス非接続時のみ可能にした、
いわばお遊びです

128KBバブルメモリはI/Oの重なる拡張機器はないので、
基本的に有効にすればFM-77モードでも使用可能です。
こんなところですかね。

595 :ナイコンさん:2016/03/28(月) 09:29:40.59
香具師の多いスレでつね(藁

596 :ナイコンさん:2016/03/28(月) 20:46:58.73
ここだけの話なんだけど、>>581はdisk.cppの196行目をif (inserted = changed = cpdread_to_d88(fio)) (ifで囲ってセミコロンを削除)にすれば対処できちゃったりとかみたいな?

597 :ナイコンさん:2016/03/29(火) 03:26:28.10
>>586
>BASICにBUBINIやBUBR,BUBWが残ってるのでどうなのかな?と思いましたが、まぁ、そうであれば入れる必要はないですね。

F-BASIC V3.0 以降は、BUBINI、BUBR、BUBW は予約語(キーワード)として
残ってるのみで、実行時には即 Device Unavailable Error に飛ぶ。
一見思わせぶりなメッセージだが、バブル付のFM-8(のRAMモードで)
F-BASIC V3.0 を走らせてもこの状況は変わらない。Syntax Error と実質同じ。
F-BASIC V3.5、V3.3 L1x系まではこれらの予約語が残っているが、
F-BASIC V3.3 L20以降、V3.4 L10以降では、BUBINI の中間コードが BAUD命令に
割り当てられてしまっているのはご存じの通り。

>後、Z80カードにしても、試験用のディスクがあればすぐにでも実装するんですが、今は無いですしねー。

Excuse の理由としては弱いかな。
FM-8 の時代にはフロッピーディスクやCP/Mなど高値の華だったので、
もっぱらカセットベースで Z80カードを使ったものだ。
$FD05 の bit0 で CPU 切り替えるだけなので、コモンソースのコアを使えばすぐじゃない?
「FM-8活用研究」をお持ちなら、上記カセットベースでZ80カード使う記事が3件掲載されてる。
これらがまともに動くなら、FM CP/M-80 も動く。なぜなら FM CP/M-80上では、Z80 は一切 I/O
アクセスしないので。

598 :武田 ◆bnZpPXJze51u :2016/04/01(金) 01:39:24.57
新ネタを3つ、リリースしました。
その関係で、>>581の件は次回回しにしました、ごめんなさいです。

久々に、嘘ではないけどエイプリルフールネタをやってみました。
現在、ROM吸出し強化週間中です。

599 :ナイコンさん:2016/04/01(金) 06:57:24.77
新しい機種もいいけど既存の放置機種の煮詰めもよろしくね

600 :ナイコンさん:2016/04/01(金) 09:11:16.09
しょうもない

601 :ナイコンさん:2016/04/01(金) 20:10:09.38
QEMU/FamilyBASICぐらいのネタを持って来るかと思ってたのになー
残念だわー
(ウソです)

602 :武田 ◆bnZpPXJze51u :2016/04/02(土) 23:48:01.78
ヤルキー動いたー。
http://takeda-toshiya.seesaa.net/article/436104763.html

603 :ナイコンさん:2016/04/03(日) 02:14:03.48
武田氏側のeFM-77AVやeFM-77AV40EX
もろもろFD読み込まなくなってません?

604 :ナイコンさん:2016/04/03(日) 09:44:32.61
>>602
こんなん初めて見たわ。

605 :ナイコンさん:2016/04/03(日) 14:07:49.44
ym2203.cpp

606 :ナイコンさん:2016/04/03(日) 21:05:15.95
busy?

607 :ナイコンさん:2016/04/03(日) 21:58:08.74
>>603
うちは読んでる。
それよか
ホストPC側がキーリピートが発生するタイミングで、
eFM-77AVのリアルタイムキースキャン側の処理がおいついていないような。
イース2を久々に触って、びっくりした。

608 :Artane. ◆1o3c8RYIzjU0 :2016/04/03(日) 23:12:44.37
臨時の仕事はなんとか先週末に仕上げました。が、先週頭に非常にややこしい事が起こり、その対応で時間と体力気力を食い潰す羽目に…再開にもう少しかかりそうです。

>>607
現象について予測付かなくはないので、対策を考えます。
20ミリ秒で同期取ってキューイングしてある入力を一個一個CPU側に引き出すような仕組みで今やってますが、
多分それでは間に合わなくなっています。
ちょっと時間下さいませ。
先々週末から止めてるGUI関係の書き直しを一通り上げてから、そこら辺や他にご指摘のあった問題を潰して行きますので。

609 :ナイコンさん:2016/04/04(月) 09:48:52.71
そういや動画キャプチャはあるけどスクリーンキャプチャが無いのですね。
付けてくれればありがたいです

610 :ナイコンさん:2016/04/04(月) 09:50:45.67
↑ありました。 失礼しました。

611 :ナイコンさん:2016/04/04(月) 10:27:20.38
しょうもないゴミ

612 :ナイコンさん:2016/04/04(月) 11:50:56.86
自己紹介?

613 :Artane. ◆1o3c8RYIzjU0 :2016/04/07(木) 22:55:57.61
作業再開しました。
とりあえず、UI側の七割位は共有ライブラリーに出来て粗方動く所に来ましたが…

まだ、WindowsのDllだと上手く行かないのでちょっと調べるまでWindowsでは毎度毎度コンパイルしてるのですが、
Linuxに関しては時間を半分位に出来てます。

後、今2ちゃんねる側の不具合でISPから書けずに携帯回線から書いてるので、告知は今後どうしたものか。

614 :Artane. ◆1o3c8RYIzjU0 :2016/04/07(木) 22:58:08.51
>>607
とりあえず、キューイングの間隔を5msに調整してみましたが、取りこぼしは変わらないでしょうか?(バイナリは後で出します)

615 :Artane. ◆1o3c8RYIzjU0 :2016/04/09(土) 15:03:27.72
果たして書けるかな?やっぱりダメなので携帯から書いた<cloudflareのIP判定仕様が変わったのに対して2ちゃんが対応不十分なのでISPからかけない件

とりあえず、リリース掛けました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160409

武田さんの4/1版まで追いつきました。
Qt側の内部構造を相当変えてます。
GUIの共通部分を共有ライブラリ(WindowsだとDLLだがまだ分離できてない)に分離して追い出すようになってます。
GNU/Linuxだとインストール用のbashスクリプトを添付してあるので、そちらをお使いください。

後、>>554の不具合は未解決です(結構根の深い話なので実装方法を考えないといけない…)。
>>538の件に関しては要検討事項として入れました。(ToDoに書き忘れたけど、後で追加する)
DIPSWを使った設定になるでしょう。

616 :Artane. ◆1o3c8RYIzjU0 :2016/04/10(日) 14:53:35.13
>>607
昨日のリリースで治ってないのを確認しました(;´Д`)
状況再確認して、昨日直せたと思います。最新のコミットでは対策済みです。
申し訳ございませんでした…

で、FM-7系についてHOTFIXの形で後ほどリリース出しますね(ただ、水平同期に同期して描画するモードの挙動不審さが見えてきたのと、キーエンコーダのコマンドの一部が未実装なのも直したいですが、次の正式リリースでもいいですかね?(;´Д`))

617 :ナイコンさん:2016/04/10(日) 17:23:10.09
Win7 64bitなんだけど
これって動かせるの?
http://kegs.sourceforge.net/

618 :ナイコンさん:2016/04/10(日) 19:10:50.91
>>617
OSのinstallがちょっと面倒だけど動作するよ。
ググレば、installの仕方を説明している日本語のHPが
見つかると思うよ。

619 :ナイコンさん:2016/04/19(火) 22:27:49.17
色々遊べてお買い得です!
http://page19.auctions.yahoo.co.jp/jp/auction/x442135734

620 :ナイコンさん:2016/04/19(火) 23:13:53.33
そこで言ってる未公開のドラクエってx68kで動くなんちゃってドラクエだな、当時遊んだ記憶がある
どのみち泥ベースじゃ大半のエミュはまともにゃ遊べないレベルだろうなぁ

621 :ナイコンさん:2016/04/23(土) 10:39:09.52
げんきがいちばん!とかいうやつか

622 :ナイコンさん:2016/04/24(日) 11:31:58.34
ドラゴンオエストじゃねーか

623 :ナイコンさん:2016/04/24(日) 17:58:35.99
ドラゴンオエスト、懐かしい(笑)
誰が続編作らんかな〜。

624 :ナイコンさん:2016/04/24(日) 21:36:28.53
誰かじゃなくておまえがやれよw
永遠に口先だけかw

625 :ナイコンさん:2016/04/24(日) 22:20:32.74
そしておまえも

626 :ナイコンさん:2016/04/24(日) 22:47:53.30
>>624
で、お前はどうなんだ?

627 :ナイコンさん:2016/04/26(火) 07:24:25.86
自分で作ったら始めから解答知ってしまうじゃないか

628 :ナイコンさん:2016/04/26(火) 13:59:53.73
質問に質問で返すのはバカの証拠
おまえのことだよw

629 :ナイコンさん:2016/04/26(火) 21:34:08.31
「質問すれば答えが返ってくるのが当たり前か…?」
ttp://yakb.net/col/117.html

630 :ナイコンさん:2016/04/26(火) 21:43:47.36
>>628
自己紹介乙

631 :ナイコンさん:2016/04/26(火) 22:36:11.22
自分で作れない作ろうともしない
チキン乙

632 :ナイコンさん:2016/04/27(水) 06:48:33.69
質問すれば答えが返ってくるのが当たり前か

633 :Artane. ◆1o3c8RYIzjU0 :2016/04/27(水) 23:23:52.46
プライベートがややこしくなっててまだ落ち着き切ってないですが、暇を見て幾つかやってます(^_^;)

ビルドに問題がなければ、明日にも出せると思います(^_^;)

FM77AV関連とかざっくりと変えています(特にdisplay関連)。
既に、Githubにあるドキュメントとソースコードはほぼリリース向けです(が、ビルドに問題がないのを確認するまではタグ付けないです)。
まだ変える所があるかもですが…(;´Д`)

634 :Artane. ◆1o3c8RYIzjU0 :2016/04/28(木) 14:24:00.65
リリースしました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160428

635 :Artane. ◆1o3c8RYIzjU0 :2016/04/28(木) 14:26:22.62
ついでに。
>>607
今度こそ解決してると思いますのでお試しを

>>554
解決しました。config.cppを弄りました。

>>538
ごめんなさい、未だです(´・ω・`)

636 :ナイコンさん:2016/04/30(土) 17:58:55.71
ePC-Engine で遊べません。
キーが反応しません。
とりあえずCD-ROMの認識までは確認しました。
win7 64bit 4/13のビルド

637 :ナイコンさん:2016/05/03(火) 08:34:27.83
>>636
Input -> Joystick #1

638 :Artane. ◆1o3c8RYIzjU0 :2016/05/11(水) 21:21:45.21
またまたリリース掛けました
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160511

>>538 に関しては実装してみましたが、これでいいのか自信がないです。
色々とバグ潰しています。特に、FM-77AVのデモの後半で、文字が出てこない問題とシルフィードの4面などでゴミが残る問題の解決とか…
今回から、Linux側はGCC6でビルドしてますが、果たしてうまく行ってるやら…

639 :ナイコンさん:2016/05/12(木) 23:41:39.26
>>638のバイナリ。
>>439で「○○は動作を停止しました」になっていたWin7環境でも普通に実行して終了できるようになっているっぽい気がする。20160428以前のは set QT_OPENGL=software しないとダメだった。
Ubuntu14.04LTSでは /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.9' not found (required by なんたら みたいなのが出て実行できない。20160428のもダメ。20160409のは実行できる。
でも、どうせ画面表示がダメだし、16.04では実行できて画面表示もOKだから別にいいよね。

640 :Artane. ◆1o3c8RYIzjU0 :2016/05/14(土) 00:50:43.40
>>639
>>>439で「○○は動作を停止しました」になっていたWin7環境でも普通に実行して終了できるようになっているっぽい気がする。20160428以前のは set QT_OPENGL=software しないとダメだった。
遅蒔きながら原因が見えてきたので直しました…直っていてよかったです。

>Ubuntu14.04LTSでは /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.9' not found (required by なんたら みたいなのが出て実行できない。20160428のもダメ。20160409のは実行できる。
>でも、どうせ画面表示がダメだし、16.04では実行できて画面表示もOKだから別にいいよね。

多分、こちらでビルドするときのlibstdc++のヴァージョンの問題だと思います。
とりあえずUbuntu 16.04LTSで何とかなってるようなのでよかったです。

641 :ナイコンさん:2016/05/14(土) 16:17:09.71
エミュレータにおける音の生成では、音源チップへの書き込みをきっかけとして、それまでのWAVを合成するというのが定石かと思っていたのですが、>>472を見ると
>44100Hzで仮想マシンを切って、その度ごとにfmgenで1サンプル作っているなら、
コモンソースはそういう方式じゃないんですかね

642 :Artane. ◆1o3c8RYIzjU0 :2016/05/16(月) 14:39:20.65
>>641
汎用性を求めるとどうしてもそうなるんですよね。
スケジューラ側に「音源に関するレジスタ書き換えましたよ」と通知して、それをトリガに音を合成させると言う方法があることも事実ですが…
後は、音源ごとに1フレーム(≒エミュレーションの粒度)分のバッファを持たせて、1フレームごとにそのバッファを重ね合わせるとか…
どっちを取るにしてもややこしくなるので、音の1サンプルごとにするというのは、処理が重くなることを除けば合理的ではあるんですよね。

643 :ナイコンさん:2016/05/16(月) 14:57:39.18
欠点がある時点で合理的とは云いません

644 :ナイコンさん:2016/05/16(月) 16:39:34.89
欠点のない方法なぞないだろ

645 :武田 ◆bnZpPXJze51u :2016/05/16(月) 22:47:46.51
音源チップならともかく、汎用カウンタの出力とか、CPUで直接操作して、
とかで音を出してるものもある訳で。
QC-10みたいに、カウンタ出力を別のカウンタ出力でゲート操作して、
一定期間だけBEEPを鳴らすとか、もうね(苦笑)
で、音の1サンプル期間中の、信号のオンオフの時間の割合に応じて
ボリューム生成しないと、澄んだ音が生成できなかったり。

で、面倒くさくなって、1サンプル毎にイベント発火して波形生成
してみたら、PCだと意外と重くならなかった、という話です。
音質とCPU負荷のトレードオフですね。

#本業多忙につき、当面は作業できなさそうです。

646 :武田 ◆bnZpPXJze51u :2016/05/16(月) 22:58:46.74
ものすごく、どうでもよいお話。

先週の出張のとき、先方の担当の方から、
「武田さん、フリーソフト公開されたりしてます?」
と聞かれました。

ずっと本名で活動してますが、リアルで、プライベートの活動について
言及されたのって実は初めてです(を
MS-DOS Player、意外と色々使っていただいているみたいで嬉しい限り。

#で、使っていただいたのが、弊社でなく、競合絡みのお仕事だった
#というオチがつく(笑)

647 :ナイコンさん:2016/05/17(火) 08:09:12.38
2chはお前の日記帳じゃねえから

648 :ナイコンさん:2016/05/17(火) 12:31:27.29
そうそう
MS-DOS Playerは64bitWinじゃ動かない物とかに重宝しますわ

649 :ナイコンさん:2016/05/18(水) 23:01:58.37
残念だったな
2chは俺の日記帳だ

650 :ナイコンさん:2016/05/19(木) 19:32:22.64
皆の日記帳だよ

651 :ナイコンさん:2016/05/21(土) 04:31:10.55
あたいの日記帳だよ

652 :ナイコンさん:2016/05/21(土) 05:41:28.13
わしの日記帳じゃ

653 :ナイコンさん:2016/05/21(土) 08:07:45.26
おいどんの日記帳でごわす

654 :ナイコンさん:2016/05/21(土) 08:28:22.20
いいや、あっちの観察帳でありんす

655 :ナイコンさん:2016/05/21(土) 09:07:38.50
じゃぁ、俺の

656 :ナイコンさん:2016/05/21(土) 09:16:02.08
スーパーカセットビジョンのカセット対応しようよー。messすすんだし。

657 :Artane. ◆1o3c8RYIzjU0 :2016/05/21(土) 14:21:39.73
>>656
messはチェックサム調べてバンク切り替えとかのやり方決めてるからねー。
確かscv.txtにイメージにヘッダーを付けて識別させるためのやり方が書いてあるよ。

658 :ナイコンさん:2016/05/22(日) 08:57:28.50
P6エミュってほとんどP6Vベースで作ってるけど
ip6plusの方がテープ読み込み精度がいいと思うのは気のせいですかねぇ

659 :ナイコンさん:2016/05/22(日) 10:09:47.45
オレのせいじゃねーぞ

660 :Artane. ◆1o3c8RYIzjU0 :2016/05/22(日) 12:44:57.97
チラ裏だけど、
FM-7で三種類のコ◯ーツールの解析機能部分が動いてるよ。プロテクトチェックは駄目だけど。
これで問題が起きても多少捗りそうですね(XM7だと動かない)

661 :ナイコンさん:2016/05/22(日) 16:15:38.90
FDCの再現性がいいのかな?

662 :Artane. ◆1o3c8RYIzjU0 :2016/05/23(月) 17:16:29.63
またまたリリースしました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160523

内側をいろいろ変えてます(特にQt Guiの構成とかOSDとか)。

>>武田さん
お疲れ様です!
まぁ、お仕事落ち着くまでこちらもこちらで色々いじってますので(^_^;

663 :ナイコンさん:2016/05/24(火) 21:09:40.85
Windows上で>>662のバイナリを動かそうとすると
>プロシージャ エントリ ポイント __gxx_personality_v0 がダイナミック リンク ライブラリ libstdc++-6.dll から見つかりませんでした。
でした。(exeファイル自身が直接__gxx_personality_v0を要求しているのではなく、Qt5Core.dllなど他のDLLが要求している?)
同じものをUbuntu上でWineを使って起動すると、Wineのメッセージは色々出るけど一応起動できるのよね。

664 :ナイコンさん:2016/05/24(火) 21:49:02.66
M$dozeのEXEローダーはパグだらけな汗

665 :Artane. ◆1o3c8RYIzjU0 :2016/05/25(水) 14:52:49.18
>>663
申し訳ございませんm(_ _)m
で、今朝方(だったかな?)
Win32バイナリだけビルドし直してアップしました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160523_2

Wineでチェックしただけでアップしてました(;´Д`)
本当に申し訳ございませんでしたm(_ _)m

追記:しかし、バイナリサイズが膨らみすぎてるのは良くないので、次のリリースから自前でビルドしたQt dllを添付するようにします。
今、最低限のテスト中ですが、SSE2ありでビルドしたものなので、果たしてどうしたものか。

666 :ナイコンさん:2016/05/26(木) 00:33:10.29
よくわからんけどWineってスゲーな
Windowsで動かないWindows向けバイナリが動くんだから

667 :ナイコンさん:2016/05/26(木) 09:50:36.74
M$のバグバグ実装とWineのしっかりした実装の違い

668 :Artane. ◆1o3c8RYIzjU0 :2016/05/26(木) 15:47:57.72
GCC 5.3で-static-libgcc -static-libstdc++しなくても普通に動くように、
自家製のQtライブラリをリンクしたのを出してみるので、起動テストお願いしますm(_ _)m
XM7向け互換ROMをバンドルしてみています。
HomeBrewQt_test.7z,http://www1.axfc.net/u/3670318

Size: 14543574
MD5: 83626273747ebf137603cba1974d9995
SHA256: 5c7c9132a300c17a27be375fcf1f49774cae06435a09abd04fdbe09d06e9a205

669 :ナイコンさん:2016/05/26(木) 20:42:06.86
900 ←こうやって競スクっ娘が四つん這いでつややかな紺色に包まれたおしりをつきだしてきたら嗅ぐ?舐める?ちんちん擦り付けて射精する?

670 :ナイコンさん:2016/05/26(木) 22:04:02.69
>>668
(emufm7.exeが1回だけ起動直後に落ちたような気がするけど再現できぬ... それを除外すれば)起動はOKです。
・CSP_BUILD_20160523-2.7zよりも重くなってる?
・XPでemufm77av40ex.exeを動かした場合のみ?:USERDIC.DATが「読み取り専用」になっていると終了時に落ちる。

671 :Artane. ◆1o3c8RYIzjU0 :2016/05/26(木) 22:34:46.14
>>670
ありがとうございます。

>>668
>(emufm7.exeが1回だけ起動直後に落ちたような気がするけど再現できぬ...
少し様子をみてみます。

>・CSP_BUILD_20160523-2.7zよりも重くなってる?
opengl32.dllを外してみたら(名前を適当に変える)どうですか?
どうもQt側がopenglのドライバーを選択してくれないようで…

>・XPでemufm77av40ex.exeを動かした場合のみ?:USERDIC.DATが「読み取り専用」になっていると終了時に落ちる。

ちょっと現象みてみますね。

672 :670:2016/05/27(金) 00:29:17.89
>opengl32.dllを外してみたら(名前を適当に変える)
これで、CSP_BUILD_20160523-2.7zと同じぐらいのCPU消費率になったみたいです。
というか、opengl32.dllを外すとQT_OPENGL=desktop相当で、外さなければQT_OPENGL=software相当の重さ?

673 :ナイコンさん:2016/05/28(土) 22:08:07.60
武田さんがリリースしたソースのfm7をDebugビルドして、>>668に同梱の互換ROMを使ってDebug実行すると落ちました。
void DISPLAY::write_mmio(uint32_t addr, uint32_t data) の中で、active_pageの値が初期化されてないのにcase 0x0e:に入ってしまいます。
>>670で1回だけ落ちたのと関係あるかどうかはわかりませんけど。
そういえば、武田さんがリリースしたバイナリではPLEASE INSERT DISKETTE!!が出てくるけど、>>668では出て来ないような……?
CSP_BUILD_20160428-1とCSP_BUILD_20160511-1の間で違いがある?

>・XPでemufm77av40ex.exeを動かした場合のみ?:USERDIC.DATが「読み取り専用」になっていると終了時に落ちる。
武田さんがリリースしたバイナリの場合だと、Windows7(64bit)で落ちました。
普通は「読み取り専用」にしないでしょうけどね。

674 :ナイコンさん:2016/05/29(日) 00:07:52.87
PLEASE INSERT DISKETTE!! はFDDをConnectしないといけないんだな

675 :ナイコンさん:2016/05/29(日) 20:23:13.33
>>668
同梱のrom_v120.zipの中身のROMファイルを全部emufm77av40exフォルダにぶち込んでemufm77av40ex.exeを実行させたらPLEASE INSERT DISKETTE!!が出る前で落ちました。武田さんがリリースしたfm77av40ex.exeは落ちません。

676 :Artane. ◆1o3c8RYIzjU0 :2016/05/30(月) 14:44:56.44
>>675
原因わかりました。ドライブ2個しか繋いでないことにすると、ダメなんですね(^_^;
互換ROMは0:〜3:まであるかどうか律儀にチェックしてる。
これ、実際にUIで見せるかどうかはともかく、4ドライブあることにしますね(^_^;
# 4ドライブの存在意義をあんまし見いだせないのです。
## しかし、2HD/8インチが動くようになったらUIどうしようか…(;´Д`)

ブランチ master_upstreamのcommit 34dc20e467e413d7db2f02f60ee593e213d9872f で。(master側にも反映はさせましたが肝心のムービーが記録できない状態なので)

で、最低でもFM-77まで2HDとか8インチとかのフロッピーを、別個のFDCで(ここ忘れてた)
つなげたんですが、資料がないし(トマさんのコードくらいしかない…)どうしたものかと思ってます。
多分FDC自体は同じチップだと思うんで書けなくもないのですが、デバッグが出来ないから…(;´Д`)

677 :ナイコンさん:2016/05/30(月) 22:39:06.37
2つしか準備してないのに3番目以降の内部情報を参照するからアカンのやないのん?
3番目以降は未接続、って判定される仕組みにすればエエんやないのん?

678 :Artane. ◆1o3c8RYIzjU0 :2016/05/31(火) 00:32:01.78
>>677
んー、そちらがスマートですかね(´・ω・`)
やっぱし(´・ω・`)
とりあえず、動画保存の基本的な部分は出来たので(libavを使いますのでWindowsどうしよう…)、
そこをまとめたりパラメータ設定画面作ったりしたら手がけますね(´・ω・`)

libavはソースコードバンドルしたいけど、リポジトリの容量が危なくなるかも…

679 :ナイコンさん:2016/05/31(火) 12:48:20.48
あげ

680 :ナイコンさん:2016/05/31(火) 21:10:35.23
PC98 詰め合わせ

で検索


PC-98 詰めあわせ


でよくよく検索

681 :ナイコンさん:2016/06/07(火) 20:54:26.93
ビールスが蔓延してるんだが・・・?

682 :ナイコンさん:2016/06/07(火) 22:18:58.54
いや〜死ぬかと思ったよ

683 :Artane. ◆1o3c8RYIzjU0 :2016/06/08(水) 16:05:58.90
又、リリース掛けました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160608
から。

今回は、libav経由で、H.264(x264)とAACを使った動画セーブを出来るようにしました。が、ご存知な方はご存知かと思いますが、
libavというライブラリは物凄く仕様変更が激しいので、その辺りをどう対応するかにつては、未だ出来てません(^_^;
多分、libCSPavioでlibav他をスタティックリンク出来るように今後変えていくつもりです(WindowsのlibavはDLLのままで…)。

>>681
なんかあったんですか?(;´Д`)

684 :ナイコンさん:2016/06/08(水) 21:24:45.91
>>683
(Windows7でWindowsバイナリ)
This application failed to start because it could not find or load the Qt platform plugin

685 :ナイコンさん:2016/06/08(水) 21:28:34.57
>>684の書き込みは途中で切れた。文字コード0x22は駄目なの?
>>683
(Windows7でWindowsバイナリ)
This application failed to start because it could not find or load the Qt platform plugin ”windows”.

Available platform plugins are: windows.

Reinstalling the application may fix this problem.

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

(UbuntuでLinuxバイナリ:うちの環境ではlibavcodec.so -> libavcodec-ffmpeg.so -> libavcodec-ffmpeg.so.56.60.100の順にリンクしてるみたいだけどlibavcodec.so.57は無し。)
error while loading shared libraries: libavcodec.so.57: cannot open shared object file: No such file or directory

686 :Artane. ◆1o3c8RYIzjU0 :2016/06/09(木) 00:09:04.63
>>685
申し訳ございません。
Windowsのほうは、プラグインのヴァージョンでチョンボしてました(-_-;
ので、文末にアップしました。
Ubuntuについては…
(早速FFmpegの地雷を踏んでしまってたので愚痴ったのをさっくり削って)

とりあえず、FFMpeg-2.8.7のソースでビルドしたlibavを基に再ビルドかけた(色々ソースもいじってますが)物を使ってビルドしました(;´Д`)
うまく動かなかったら、ffmpeg-2.8.6/ffmpeg-2.8.6-amd64.tar.lzma を使ってみてください。

http://www1.axfc.net/u/3676932

Size: 62926096
MD5: 19b2ae231634d7dc0410f234facd788a
SHA256: f05252d99dc547ff768d3a41710d54cec2f4d8d8ef24136111331f48edc0be58

687 :Artane. ◆1o3c8RYIzjU0 :2016/06/09(木) 15:43:34.58
>>686
問題があるかも知れない状態ですが、全バイナリをビルドしなおして(後、微修正をかけて)リリース掛けました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160609
どうでしょうね?(´・ω・`)

688 :ナイコンさん:2016/06/09(木) 22:41:46.04
>>687
(Windows7でWindowsバイナリ)
動画セーブも含めて動作するみたいです。

(UbuntuでLinuxバイナリ)
ffmpeg-2.8.7-amd64.tar.lzmaやmaybe-needsの中身を適当な場所に置いてシステムから認識されるようにすれば、動画セーブも含めて動作するみたいです。

動画の解像度は仮想マシンの解像度と無関係になっているようですが、これは今後の課題でしょうか。今はiniファイルを直接書き換えても良さそうですが。

動画の音質が悪いような気がするのはコーデックの設定等が原因なのか、PCのスペックが原因なのか。

689 :ナイコンさん:2016/06/10(金) 21:17:29.05
>>687
(Windows7でのみ確認)
msx1では、カートリッジの抜き挿しでリセットがかかる仕組みになっています。
動画セーブ中にカートリッジを抜き挿しすると、そのあたりのタイミングで動画セーブの出力が止まってしまうようです。
しかし、メニューは動画セーブ中と同じ状態のままなので、以降の動作を動画セーブしたければメニューからあらためて動画セーブをStopとStartしてやる必要があるみたいです。
しかも、途中で止まった動画は映像と音声の長さが1秒以上違っている様子。

普通にメニューからResetした場合は、動画セーブの出力は継続されているようです。

690 :Artane. ◆1o3c8RYIzjU0 :2016/06/11(土) 15:01:21.25
SNAPSHOT 2016-06-11をリリースしました。
https://osdn.jp/projects/csp-qt/releases/65942
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160611

今回、OSDNをホスティング先に追加してしまってるのですが、各方面から怒られそうで…すいません m(_ _)m

GPLv2だから形式論的には大有りだし、OSDNだと広範囲にミラーしてくれるので、半永久的に置くにはアップローダよりもいいよね…と言う感じです。
クラウドストレージの利用も考えていたんですが、これだけ巨大なソフトを配布して文句言われなくて、しかもタダか安い所と言うのが見つけられなかったので…

>>689
直せました…たぶん。

>>688
基本的に、VMの解像度に動画を合わせるのがいいのだろうかというのを考えて、抜かしてましたが、ぼちぼち追加していきます。
# いろんなプレー動画を動画サイトにアップするとかそういう用途のほうが多い気がしたのです。

691 :ナイコンさん:2016/06/11(土) 21:01:28.31
turboZのバイナリだけあれど、手がけないのですかね?

692 :Artane. ◆1o3c8RYIzjU0 :2016/06/12(日) 02:52:04.52
>>691
ああー忘れていました(> <)
何処かの時点でやらないといけないな…と思いつつズルズルときてしまって。
とは言え、TurboZのハードウェア資料やZでないと動かないソフトというのが殆ど手持ちにはないので、又、時期を見て川崎の神奈川県立図書館辺りに行くことにしようと思います。
資料と(実機で動いた)テストコードさえあれば、何とか私の方でもやっていけますので…

693 :ナイコンさん:2016/06/12(日) 14:57:59.16
久しぶりに触らせてもらいました。
X-Windowシステムなのねーって思いました。
描画領域にマウスカーソルがないと操作できないあたりが。
Windowsに慣れてしまって忘れていました。

694 :ナイコンさん:2016/06/12(日) 16:26:07.76
commonにも反映されるといいなー。

695 :ナイコンさん:2016/06/12(日) 21:12:48.40
>>690
(Windows7でのみ確認)
動画セーブ中に、挿さってない状態から挿した状態に変更した場合は、そのあたりのタイミングで一旦動画ファイルが閉じられて、新しいファイルで動画セーブが続行されるんですね。
ただし、古いほうのファイルは映像と音声の長さが1秒以上(フレームレート依存?)違っている様子。
動画セーブ中に、挿した状態から挿さってない状態に変更した場合は、>>689と同様みたいです。

なお、>>688の最後に書いたような音質の問題は解消されているように思います。

696 :ナイコンさん:2016/06/13(月) 06:54:30.24
外交の成果って・・・

保育所より韓国人学校
平昌五輪の支援約束

だろ

697 :Artane. ◆1o3c8RYIzjU0 :2016/06/15(水) 03:29:14.40
>>695
原因がわかりました(;´Д`)
動画エンコードに使ってるffmpeg(libav)の画像codecがH264だと、どうやらコーデックをcloseした時に画像側だけ書き損じを起こすようですね。
無印のMPEG4(ffmpegバンドル版)にすれば問題が解消されるという…

これ、無修正で(高画質な)H.264を生かして書き損じを容認するか、画質低目のMPEG4で書き損じを容認しないかの厭な二択になりました(;´Д`)
# MPEG4でも色んなOSが追加コーデック無しで見れるならそれでもいい気がしますが…

とりあえず、暫定修正(設定次第ではソフト自体が飛びます!)してみました。
commit 7474bbdab537d537b31c552638646803cd2d9d5cにて。

ちょっとcodec設定とか色々やった上で正式版にしますねー(;´Д`)
# 後、録音側もogg flacかなんかコンテナサイズの制限がないに等しい物にしたいです…WAVコンテナはサイス制限が厳しすぎる。

698 :Artane. ◆1o3c8RYIzjU0 :2016/06/18(土) 11:22:56.12 ?BRZ(10000)

またリリースしました。
https://osdn.jp/projects/csp-qt/releases/65974
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160618-3

699 :ナイコンさん:2016/06/18(土) 22:04:10.64
>>698
(Windows7でWindowsバイナリ) H.264でもMPEG4でも下記の件に関しては同じような感じ。
・動画セーブ中に、カートリッジが挿さってない状態から挿した状態に変更した場合:2つの動画に分かれる。
 1番目の動画:音ズレあり。音のほうが早い。
 2番目の動画:映像スロー 音無し
・動画セーブ中に、カートリッジを挿した状態から挿さってない状態に変更した場合:挿さってない状態の動画は無し。
 動画:音ズレあり。音のほうが早い。
・PSGで単純な音を鳴らした場合の動画の音質が悪い。(>>688と同様。>>695とは異なる。)
・60fpsの仮想マシンを15fpsで録画している最中は、ウィンドウのフレームレート表示が75fpsになる。60fpsの仮想マシンを30fpsで録画している最中は、ウィンドウのフレームレート表示が90fpsになる。(2016-06-11のバージョンではそれぞれ15と30だったはず。)
・コマンドプロンプトのログを見ると、動画セーブの音声フレーム数が10桁になってたりすることがある。

(UbuntuでLinuxバイナリ) パッケージで入れたQt5のバージョンは5.5.1+dfsg-16ubuntu7.1とかそんな感じ。
$ ./emumsx1
./emumsx1: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by ./emumsx1)
./emumsx1: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.6' not found (required by ./emumsx1)
./emumsx1: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by ./emumsx1)
./emumsx1: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5: version `Qt_5' not found (required by ./emumsx1)
実行できない。

700 :Artane. ◆1o3c8RYIzjU0 :2016/06/19(日) 03:01:07.75
>>699
ありがとうございます。
>・動画セーブ中に、カートリッジが挿さってない状態から挿した状態に変更した場合:2つの動画に分かれる。
これ自体は、武田さん仕様です。が、個人的にも今ひとつな感じがしたので、パッチを入れます。

>1番目の動画:音ズレあり。音のほうが早い。
現象を確認しました。カートリッジがある機種だけのような気もするので、もう少し調べます。

> 2番目の動画:映像スロー 音無し
これは、再現性が見れないので、もう少し見ていきます。

>動画セーブ中に、カートリッジを挿した状態から挿さってない状態に変更した場合:挿さってない状態の動画は無し。
これも、現象をほぼ確認しました。後で直します。

>・PSGで単純な音を鳴らした場合の動画の音質が悪い。
ライセンスの関係でAAC Codecを内蔵品にした事によるかも知れません。音のビットレートを192kbpsにしても同じでしょうか?
近日中に、別のCodecも使えるようにします(只、lameはクロスビルドが出来ないのでどうしたものか…(;´Д`))
>・60fpsの仮想マシンを15fpsで録画している最中は、ウィンドウのフレームレート表示が75fpsになる。60fpsの仮想マシンを30fpsで録画している最中は、ウィンドウのフレームレート表示が90fpsになる。
やらかしてたようです、すいません(;´Д`)

>(UbuntuでLinuxバイナリ) パッケージで入れたQt5のバージョンは5.5.1+dfsg-16ubuntu7.1とかそんな感じ。
これ、ビルドする機械のQtが半強制的に5.6になったので不安に思ってましたが、やはりでましたか。
色々見てみましたが、結構えげつない方法で(コンパイル時に-DQT_NO_VERSION_TAGGINGする)回避できたかもしれないので、これ、お試しいただけますか?

https://www.sendspace.com/file/if98da

これがダメだとすれば、chroot で何らかの環境を作らないといけないかも…(Ubuntu LTSかDebian 8かで)

701 :ナイコンさん:2016/06/19(日) 14:45:57.50
>>700
>>・PSGで単純な音を鳴らした場合の動画の音質が悪い。
>(略)音のビットレートを192kbpsにしても同じでしょうか?
同じです。
波形までは確認していませんが、音が割れている状態かもしれません。
ffmpegのバージョン依存の可能性あり?

https://www.sendspace.com/file/if98da
`Qt_5.6'の行は無くなりましたが`Qt_5'の行は>>699と同じように表示されて、実行できません。

702 :Artane. ◆1o3c8RYIzjU0 :2016/06/21(火) 02:57:06.25
>>701
FFMPEG内蔵のAACコーデックに問題があるっぽいですね。
音量過剰の対策を多少した上で、MP3とAACを選択できるようにしてみました。

https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160621
https://osdn.jp/projects/csp-qt/releases/65987

バイナリは、今のところGNU/Linux向けのみです。
明け方にはWindows側もビルドが終わるので、アップロードは朝です。
後、Linux側はQt 5.3でビルドしてみました、これだとどうでしょうか?(;´Д`)
仮想環境のUbuntu 16.04LTSでは大丈夫っぽかったですが…

703 :ナイコンさん:2016/06/21(火) 22:09:17.75
>>702
(Windows7でWindowsバイナリ)
(1)カートリッジを抜き挿ししても、1つの動画ファイルに保存される。
(2)H.264とAACでは映像と音声の長さ不一致でPSGの音質悪い。MPEG4とMP3では改善されている。
(3)(60fpsの仮想マシンで)15fpsで録画している最中は、ウィンドウのフレームレート表示が30fpsになる。30fpsで録画している最中は、ウィンドウのフレームレート表示が60fpsになる。60fpsで録画している最中は、ウィンドウのフレームレート表示が120fpsになる。
(4)コマンドプロンプトのログ出力で、MOVIE: Close: Left: Video 85 frames, Audio 7869477233 frames などAudioの桁数が大きくなることがある。MP3でもAACでも。(環境依存の可能性あり)

(UbuntuでLinuxバイナリ)
起動OK。
(1)から(3)まではWindows7と同様。(4)は何回か確認したが、Audio 0 frames になっていた。

まあ別に、(3)も(4)も気にするほどのことではないでしょうけどね。

704 :Artane. ◆1o3c8RYIzjU0 :2016/06/21(火) 23:57:42.67
>>703
ありがとうございます。
(1)については、仕様を変えました(やはり一本にした方がいいかなとおもいまして。不具合も出にくいですし(^_^;)

(2)については、Issues.ja.txtに既知の問題として挙げてありますが、ffmpeg側の問題と思われるので、近日向こうにバグレポートを書いて送る予定です。
H.264に関しては、エンコード終わる時の終了処理がx264のそれと比べて明らかに不十分・aacに関しては内蔵コーデックの実装に依存してると判断できてますので…

(3)今は治せたと思ったのですが…6/18版と混同されてませんか?もし、6/21版で出たのだとしたら私の方での直しが不十分だったということになるので、直します。

(4)可能であるならば、どのエミュで何を動かしていたか晒していただけませんか?再現性を調べて行きたいので…
只、Linuxで(4)の問題がでなくてWin32だと出るというのは、色々と気味が悪い話なので、ちょっと調べてみます。(ひょっとしてオーディオのフレーム数の計算が32bitの大きさを超えてるようなバグが潜んでると思われるので…)

705 :703:2016/06/22(水) 01:20:25.47
>>704
(3)6/18版は「動画のfpsに60を加算した数字がウィンドウタイトルに出る」、6/21版は「動画のfpsを2倍した数字がウィンドウタイトルに出る」なので、現象は異なります。
ただし、実行中の仮想マシンの速度はどちらも普通だと思います。
(4)こちらで確認したのはWindows7上で、emumsx1.exeで内蔵BASIC起動後の画面で放置です。
なお、emufm7.exeをROM無しini無しで実行して、そのまま設定変更せずに3秒から5秒ほど動画セーブした場合にも再現しました。
どちらも発生率100%ではありません。
VMwareゲストのUbuntu上やXP上では変な数字は出なくて、実機のWin7でだけ確認。

706 :ナイコンさん:2016/06/25(土) 22:12:23.75
Windows10でもAudioのフレーム桁数が大きくなることがある現象を観測しました

707 :Artane. ◆1o3c8RYIzjU0 :2016/06/30(木) 02:48:28.73
>>705-706
多分治せたと思います。
https://osdn.jp/projects/csp-qt/releases/66054
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160629
お試し下さいませ m(_ _)m

708 :ナイコンさん:2016/06/30(木) 22:27:57.34
>>707
(Windows7でWindowsバイナリ)
(3)は6/21版と同様に発生します。
(4)は発生しないみたいです。
追加で、(5)動画セーブのStartとStopを3秒から5秒程度で何度も繰り返すと、Stopの時に赤い字で
more samples than frame size (avcodec_encode_audio2)
が出力されることがあります。
それ以降に動画セーブをStartすると、動画がスロー再生の映像だけになって音声無しになります。
>>699で発生していたスローと関係あるのかどうかは不明です。
15fps・低解像度動画・AACよりも60fps・高解像度動画・MP3のほうが発生しやすい?

709 :ナイコンさん:2016/07/12(火) 02:46:50.63
Artaneさんって在日なんですか?

710 :Artane. ◆1o3c8RYIzjU0 :2016/07/13(水) 15:52:17.42 ?BRZ(10000)

仕事が詰まってるので、作業が全く出来てません、申しわけない。

>>708
(3)についてですが、実Windowsでの発生を確認しました。なぜか、Wineだと出ないんですよね、全く。
(5)ちょっと後で見ます(今はそれどころじゃないので)

>>709
ちがいます。

711 :ナイコンさん:2016/07/13(水) 22:52:30.62
日本語上手だね

712 :ナイコンさん:2016/07/13(水) 23:51:05.69
>>710
こちらは実機ではなくVMwareのゲストOSのUbuntuですが、Linux用バイナリでもWineでも(3)が出ます。6/29版。
(5)は今のところVMwareのゲストOSのUbuntu上で観測してません。Linux用バイナリでもWineでも。

713 :Artane. ◆1o3c8RYIzjU0 :2016/07/26(火) 04:46:30.12 ?BRZ(10000)

久しぶりにリリースしてみました。
https://github.com/Artanejp/common_source_project-fm7/releases/tag/SNAPSHOT_20160725
https://osdn.jp/projects/csp-qt/releases/66175

>>703-
続いてる不具合に関しては、大丈夫になったと思います。
今後ですがどうしたものやら…とりあえず、ムービーの再生を出来るようにしようとは思ってますが。
後は、ソースコードを整理してSIMD使うようにコンパイラがやってくれるの期待して…という感じですかね。

714 :ナイコンさん:2016/07/26(火) 05:54:18.71
画像検索w

61歳 男 http://image.search.yahoo.co.jp/search?p=61%E6%AD%B3+%E7%94%B7&aq=-1&oq=&ei=UTF-8
51歳 男 http://image.search.yahoo.co.jp/search?p=51%E6%AD%B3+%E7%94%B7&aq=-1&oq=&ei=UTF-8
41歳 男 http://image.search.yahoo.co.jp/search?p=41%E6%AD%B3+%E7%94%B7&aq=-1&oq=&ei=UTF-8
31歳 男 http://image.search.yahoo.co.jp/search?p=31%E6%AD%B3+%E7%94%B7&aq=-1&oq=&ei=UTF-8
21歳 男 http://image.search.yahoo.co.jp/search?p=21%E6%AD%B3+%E7%94%B7&aq=-1&oq=&ei=UTF-8

61歳 女 http://image.search.yahoo.co.jp/search?p=61%E6%AD%B3+%E5%A5%B3&aq=-1&oq=&ei=UTF-8
51歳 女 http://image.search.yahoo.co.jp/search?p=51%E6%AD%B3+%E5%A5%B3&aq=-1&oq=&ei=UTF-8
41歳 女 http://image.search.yahoo.co.jp/search?p=41%E6%AD%B3+%E5%A5%B3&aq=-1&oq=&ei=UTF-8
31歳 女 http://image.search.yahoo.co.jp/search?p=31%E6%AD%B3+%E5%A5%B3&aq=-1&oq=&ei=UTF-8
21歳 女 http://image.search.yahoo.co.jp/search?p=21%E6%AD%B3+%E5%A5%B3&aq=-1&oq=&ei=UTF-8

715 :ナイコンさん:2016/07/26(火) 23:53:20.41
>>713
(Windows7でWindowsバイナリ)
(3)は発生しなくなっているようです。動画セーブのfpsにかかわらず、ウィンドウタイトルの表記は常に60fps付近。
(5)は10回ぐらい試して1回発生しました。
60fps・高解像度動画・MP3で動画セーブ中に、他のプログラムが動いてCPUやHDDに負荷を掛けたのが関係あるのかどうかは不明ですが、そこで動画セーブをStopすると赤い字で
more samples than frame size (avcodec_encode_audio2)
そして、次以降の動画セーブは映像:スロー再生、音声:無し。
(約5年前のノートパソコンで5400回転のHDDなんで、SSDやデスクトップよりもアクセス負荷に弱かったりするのかな)

716 :Artane. ◆1o3c8RYIzjU0 :2016/07/27(水) 01:12:53.26
>>715
出ましたか。
頻度や発生条件的には変わりましたか?
修正の方向性が良かったかどうか検討したく思いますので。

717 :ナイコンさん:2016/07/27(水) 23:30:23.33
>>716 本日の結果。
MPEG4とMP3で同じ条件で15回ずつ試して、0629版は3回、725版は4回
more samples than frame size (avcodec_encode_audio2)
が出ました。

H.264とAACで同じ条件で15回ずつ試して、0629版は2回、725版は1回
more samples than frame size (avcodec_encode_audio2)
が出ました。

718 :ナイコンさん:2016/08/01(月) 07:07:17.68
ノビテルwwwww

719 :Artane. ◆1o3c8RYIzjU0 :2016/08/16(火) 13:46:52.85
CSPのSNAPSHOT 2016-08-16リリースしました。
https://osdn.jp/projects/csp-qt/releases/66274
PX7の動画読み込みが一応動作してますが、Windowsだと日本語入るとおかしなことが起きる(;´Д`)
とりあえず、既知の問題で解決が必要と認識してるのをIssues.ja.txtに書いておきましたので…

>>717
とりあえず、こちらで強めのストレステストやってみたら発生したので、対策を講じてみましたが、自身がない状態です(-_-;
お確かめくださいませ m(_ _)m

720 :ナイコンさん:2016/08/17(水) 20:52:37.24
>>719
残念ながら、こちらのWindows7では
>プロシージャ エントリ ポイント __gxx_personality_v0 がダイナミック リンク ライブラリ libstdc++-6.dll から見つかりませんでした。
でした。Ubuntuでは(ネイティブバイナリもWineも)試してません。

721 :Artane. ◆1o3c8RYIzjU0 :2016/08/18(木) 01:52:26.07
>>720
あらら…DLLはそのままコピーしましたか?
国際化の関係で、libstdc++を二種類乗せるという問題児仕様になってますので(後日直します!)、その辺りの問題だと思われます。
故に、幾らかお待ち下さいませ。

722 :Artane. ◆1o3c8RYIzjU0 :2016/08/19(金) 01:04:23.71
>>721
libICU側の問題っぽかったので、ビルドしなおしてみました。
https://osdn.jp/projects/csp-qt/releases/66298
このアーカイブのWin32-MinGW/内のDLLを、実行ディレクトリに上書きコピーしてみてくださいませm(_ _)m

723 :ナイコンさん:2016/08/19(金) 06:13:41.67
                _                           ∧_∧
               ̄   ̄  .                       (´Д`;)←>>722
        . '            ヽ
       /                                    //
      /                                  //
           ,-( ヽ         i               /
    /       メ、ヽ ヽ          |               /
          /  ヽl  |        |            /
        /    // /        !          ,
       /∧_∧// /
     / ( ゚∀/ /
    /   γ    /         /
  θ     ヘ    |        /
         )   |       ,
         /     |
         /  ヘ   |   /
        i  / |  |  /  /   , '    _/  |l
       /  /   |  |    し'   /      / ̄/
      /  /.  /  |       (   _   /  /   〃,
     (  /   /  l  と と )  て ̄          /
     し'   /__) (_(_,J

724 :Artane. ◆1o3c8RYIzjU0 :2016/08/19(金) 17:34:25.51
>>723
(;´Д`)

725 :ナイコンさん:2016/08/19(金) 22:37:10.53
>>722
これはシンボリックリンクを含んだ圧縮ファイルなんでしょうか。
Windows上で正しく展開して使用する方法はあるのかどうか知らないので断念して、ローカルでコピーしてリネームすれば動作しました。

MPEG4とMP3で15回試して、
more samples than frame size (avcodec_encode_audio2)
は出ませんでした。音も映像も記録されてます。

726 :Artane. ◆1o3c8RYIzjU0 :2016/08/20(土) 00:42:08.17
>>725
ああ、そうです…シンボリックリンク入ってました。
次のリリースからは無くしますね。

727 :Artane. ◆1o3c8RYIzjU0 :2016/08/20(土) 22:40:21.63
今朝リリースしました(^_^;
https://osdn.jp/projects/csp-qt/releases/66308

PX7の動画再生、ホストマシンのCPUが十分速ければリアルタイム再生可能になりました(音飛びなし)。
Issues.ja.txtにある問題点以外で何かありましたらどんどんご指摘お願いします
(後、Issuesに入ってるものでも、見落としてることがあるかも知れないので気がついたら…)

FYI>武田さん
PC-100(のosd/win32側?)でマウスが取り込まれてないようです。(CSP for Qtではマウスが動作するがVC版ではマウスが動かないと某氏から指摘が…)

728 :ナイコンさん:2016/08/23(火) 22:57:04.79
>>727
256x160(最低解像度)、MPEG4、15fps、MP3では問題なさそうですが、
1536x1152(最高解像度)、MPEG4、60fps、MP3で動画を記録するとRAM消費量も勢いよく増えていくし、保存された動画も音と映像のズレが発生しています。動画の先頭付近のほうより末尾付近のほうがズレが大きいです。
opengl32.dllを使っても使わなくてもズレが発生するようです。
ただし、>>439>>715等で問題が発生していたWin7環境なので、他の環境でどうなるかは不明です。
Issues.ja.txtではH.264に関してだけ書かれていたので一応。

https://osdn.jp/projects/csp-qt/releases/66308 日本語リリースノートの 5. 移植状況 について。
・Visual Studio用のプロジェクトファイルは2008と2013がありますが、Artane.さん側で何かvm以下のソースや機種を追加するなどした場合、必要に応じて追加およびアップデートされますか?
 もしMinGWだけメンテナンスするのであれば、説明の記述を変更して、古いプロジェクトファイルのタイムスタンプは古いままにするとかoldフォルダに移動するような方式が良いかもしれません。
・今はPX-7も(既知の問題はあるけど)動作するということであれば、そこらへんの記述も要更新?

729 :武田 ◆bnZpPXJze51u :2016/08/24(水) 02:06:51.24
>>727
CTRL+ENTERでマウスの有効・無効を切り替えます。

#ここ数か月、本業多忙過ぎでどうにも(苦笑)
#10月〜11月くらいにはこっちに戻ってきたいのですが。

730 :ナイコンさん:2016/08/24(水) 17:15:40.55
武田さんPC-100の2DD対応お願いします。
自動認識がベターです。

731 :ナイコンさん:2016/08/24(水) 23:37:20.72
PC100ってどんだけアプリあったのかしら
inkpotしか知らない…

732 :ナイコンさん:2016/08/25(木) 19:08:24.71
PC-100にはゲームのロードランナーが入っていた
システムソフトが日本で最初にインプリメント

733 :ナイコンさん:2016/08/27(土) 08:11:45.08
ダイナウェアが和製Macintoshを目指して頑張っていたがネットには驚くほど情報ないな。

734 :ナイコンさん:2016/08/27(土) 16:40:44.25
>武田さん
PC-8801MAのPC-8001MK2モードは、PC-8801-11(音源ボード)に対応することはできるのでしょうか?

PC-8001mk2版のテグザー(ユーザー移植)でFM音源がなりません。

735 :ナイコンさん:2016/08/27(土) 19:12:32.51
竹田って人生きてて恥ずかしくならない?

736 :ナイコンさん:2016/08/27(土) 21:39:06.80
名前違うから別の人のことかな?

737 :ナイコンさん:2016/08/27(土) 21:48:22.95
全国の竹田さんに謝れ

738 :ナイコンさん:2016/08/28(日) 12:11:55.33
>>735って生きていて恥ずかしくならない?

739 :ナイコンさん:2016/08/29(月) 06:32:37.85
キタ━━━━━━(゚∀゚)━━━━━━ !!

740 :ナイコンさん:2016/09/02(金) 21:48:07.32
@homepage終了が近づいているけど、移転先は決まってるの?

741 :ナイコンさん:2016/09/03(土) 17:57:17.37
決まってる。無料。

742 :武田 ◆bnZpPXJze51u :2016/09/03(土) 22:00:20.06
@homepageのサービス終了に伴い、以下のURLに移動しました。
移動が期限ぎりぎりで、やきもきされていた方がいらっしゃったら
御免なさいです。

http://takeda-toshiya.my.coocan.jp/

743 :Artane. ◆1o3c8RYIzjU0 :2016/09/03(土) 22:21:33.21
>>742
お疲れ様です。
私の方で、主にdevice部分にAPIを追加しています(まだ途中)。

デバッグログについて、ロガークラスにとりあえず投げて、デバイスIDや名前やログレベルで記録したりしなかったり、ホストマシンのメモリーやディスクが許すなら検索したり出来るようにしよう。というもくろみです。
(極端な話、1命令実行毎に機械語の逆アセンブルとレジスタをログに記録してもいいようにしてしまうとか、実実行時間とマシン上の実行時間との誤差を記録し続けたり…)
とりあえず、武田さんのお仕事が落ち着かれる頃にはとりあえずの物が上がっていると良いのですが。

後、自分の方がそこらへん上げて私生活でも余裕が出来たら、80386のリコンパイラを移植してみようかとか思ってます。
今、Townsエミュのうんずが仮想化にあるWindowsだと挙動不審すぎる事とかあるので、少し考えています(使うフレームワークをこちらにするかQEMUにするか未定ですが)。

744 :Artane. ◆1o3c8RYIzjU0 :2016/09/09(金) 06:15:04.40
久しぶりにリリースしてみました|ω・`)

https://osdn.jp/projects/csp-qt/releases/66389

MZ2500のソケットを実装してみてますが、真面目にテストしてませんm(_ _)m
ログ廻りに大幅な変更が入ってます。
デバイスごと(+ログレベルごと)にログを発行できるような構造にしてあります。
まだ実装的に不十分ですが…

その関係で、DEVICEクラスと派生クラス、後はDISKに手を突っ込みました。デバイスごとに固有の名前を付けられるようにしました。
利用者がデバイス構成を把握するのにも多少は役に立つと思いますです。
後、ココらへんはログの関連でもう少し手を突っ込む予定です。

745 :ナイコンさん:2016/09/10(土) 21:54:40.66
>>744
うちのWin7でexeをダブルクリックで起動させると
[GENERAL] Audio and JOYSTICK subsystem was initialised.
の直後で毎回落ちます。
Win7でCygwin64の端末から起動させると、上記のタイミングで Segmentation fault になったり、普通に起動できたり、現象が一定ではありません。
うちのWin10ではダブルクリックで毎回普通に起動するみたいですが、Win10のMSYS2の端末から起動させると上記のタイミングで毎回 Segmentation fault になるようです。

746 :Artane. ◆1o3c8RYIzjU0 :2016/09/16(金) 03:55:42.60
>>745
現象ありがとうございます。
問題の本当の原因を掴めたので、数日前に修正を出来ました。
# 危ないコード書いておりました、すいませんでした。

今、FM-7のMB8877周りに手を入れたり(リグラスが動かなくなっていたので動くようにした)、
日本語しかなかった文書をとりあえずGoogle翻訳にぶち込んで英語にした後で、ちまちまと直していく作業やっております(^_^;)

747 :Artane. ◆1o3c8RYIzjU0 :2016/09/23(金) 22:19:58.04
久しぶりにリリースしました。
https://osdn.jp/projects/csp-qt/releases/66477

・日本語でしか書かれてなかったドキュメントをGoogle翻訳の助けを借りて英訳しています(一部文書は校正が全く不完全)
>>745の問題解決が入ってるので、Issues.ja.txtに書かれてる問題以外はWindowsでも動くはずです。
・細々とVM修正。
・全てのDEVICE派生クラスに、ログ等から参照できる「名前」を付けました。その関係で、DEVICEクラスにはAPIと変数が追加されています。

後、PC9801VMがブートしないので、ちょっといじってみましたが相変わらずブートしません_| ̄|●

748 :ナイコンさん:2016/09/23(金) 22:30:10.43
それなら98スレ(実機スレ)へ行けば、助けてくれる物好きはたくさんいます

749 :Artane. ◆1o3c8RYIzjU0 :2016/09/23(金) 23:05:50.97
>>748
ありがとうございます(^ω^)
後で、ポイント整理して訊いてみますよ(^ω^)

750 :ナイコンさん:2016/09/25(日) 23:00:53.34
>>747
うちのWin10でexeをダブルクリックで起動:OK。
Win10のMSYS2の端末から ./emumsx1.exe で起動:OK。
うちのWin7でexeをダブルクリックで起動:OK。
Win7でCygwin64の端末から ./emumsx1.exe で起動:OK。

しかし、MSYS2のmingw32環境やCygwin64で gdb ./emumsx1.exe のあと runすると
[GENERAL] Read config done.
の直後で毎回落ちるみたいです。
普通に起動した場合、Read config done. の次の行は
[GENERAL] Use OpenGL v3.0
のようです。

Win7のほうでは
(gdb) bt
#0 0x0000002b in ?? ()
#1 0x66876948 in ZTV7QWidget ()
from (****)/CSP_SNAPSHOT_20160923-1.Win32/Win32-MinGW/Qt5Widgets.dll
#2 0x01152fa0 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Win10のほうでは
(gdb) bt
#0 0x6644de28 in ZN14QWidgetPrivate4initEP7QWidget6QFlagsIN2Qt10WindowTypeEE
()
from (****)\20160923\CSP_SNAPSHOT_20160923-1.Win32\Win32-MinGW\Qt5Widgets.dll
#1 0x01fda7d0 in ZNK11QMetaObject8inheritsEPKS_ ()
from (****)\20160923\CSP_SNAPSHOT_20160923-1.Win32\Win32-MinGW\Qt5Core.dll
#2 0x05811c60 in ?? ()
#3 0x00000005 in ?? ()
(以下略)

751 :Artane. ◆1o3c8RYIzjU0 :2016/09/26(月) 20:47:36.54
>>750
状況は確認出来ましたが、色々と不審な点が出てきたので(主に自前でビルドしたQt絡み)、問題解決にはかなり手間取りそうです(;´Д`)

752 :Artane. ◆1o3c8RYIzjU0 :2016/10/10(月) 16:19:19.08
# お絵かき禁止って何よ?(;´Д`)


おひさしぶりです。
リリースしました。
https://osdn.net/projects/csp-qt/releases/66552

今回、FDDのシーク音やカセットのリレー音・ボタン音を鳴らせるようにしました。
サンプリング周波数の違いや音声ファイルの形式の違いをlibavに任せる作りになってますので、そこら辺DirectXだと少し大変かも(周波数変更だけだったら楽?)
vm/datarec.[cpp|h] vm/mb8877.[cpp|h] とかお読みください m(_ _)m
# FDCで音を鳴らすようにしたのは、DISKだとCSPのデバイスノードではないのでややこしくなる。
今のところ音が鳴るのは、疑似BIOSとかVM固有のデバイス(例えばPC-8801のCMTみたいなの)を使ってないものだけです(今後改善する)。
次には、EVENT::mixの頻度を半自動調整する機構を入れようかなと思ってます。たしかにここの負荷が相当なものになってるのがわかったので。

>>750
今度こそ治ったと思います。テストしましたが…

753 :ナイコンさん:2016/10/15(土) 20:29:19.80
>>752
ダブルクリックでもgdb経由でも起動は大丈夫っぽいですね。Win7とWin10で確認。

ところで、動作には直接関係無い&報告が遅くなってしまったのですが、20160909以降のリリースで
・Audio Deviceの名前に日本語が含まれる場合、Windowsでコマンドプロンプトのログがその箇所だけ文字化け。
が発生しています。
20160819のリリースでは化けてません。

754 :Artane. ◆1o3c8RYIzjU0 :2016/10/16(日) 23:50:52.73
トマさんここ読まれてると思うので書きますが、XM7 dash,最新版がVM初期化に失敗しますねー。私が確認できたのは仮想化環境のWin10とWineでしたが…
何か、新しく必要なファイルが要りますか?

後、私の方ですが、CSPのEVENT::mix_sound()を呼び出す頻度を動的に変えることで著しい軽量化を画策してうまく行けたようです。次のリリースに載せます。
それと、うんづがWineだとぬるぽっぽい何かでクラッシュして起動できず、仮想化内のWindows10だと色々挙動不審に陥るって既知でしょうかね?
CSPにTownsを組み込もうかどうしようか相変わらず迷ってます。今回のmix_sound()を軽く出来た辺りで、ホストマシンへの付加的にはやれるかなー(´・ω・`)と言うめどは立ちましたが。


>>753
ありがとうございます。
文字化けの件、あとで調べますね。

755 :トマ ◆7IxBfMAVCU :2016/10/17(月) 02:28:39.97
>>754
最近みてなかったんですが偶然今日見たので運が良かった?

漢字ROMファイルの必要ルールを変更しました。README見てください。
KANJIA.ROMがなければKANJI.ROMで代用…という形式を一切廃止し、
必要フォントファイルがなければ起動出来なくなってます。
ただし、フォントがない場合に自前でファイル作成出来るようにしてあるので、
選択肢を間違えなければ大丈夫なハズ。
ただしMSゴシック・MS明朝から生成するのでWineだと作れないかも。

あとは、iniファイル消して起動するか見てください。
Windows10の場合、起動直後にとあるサブウィンドウを表示すると落ちるという
情報があり、対策手段も判明しているんですが、
とある事情でその対策手段が使えないんですよ。

原因がこの2点以外の場合、VERSIONなどの詳細情報が知りたいです。
VM初期化に失敗ってでるならばこの2点が原因じゃ無い気もしますが。

756 :トマ ◆7IxBfMAVCU :2016/10/17(月) 03:00:50.85
>>755
> あとは、iniファイル消して起動するか見てください。
すいません、iniファイルとSTATE.XM7の二つを消して(ファイル名変更でOK)試してください。
現在デフォルト設定が終了時ステート保存+起動時ステートからの復帰が有効になっているので、
iniなしでSTATE.XM7が存在すると起動時に読み込んでしまい、原因の特定が難しくなります。

757 :Artane. ◆1o3c8RYIzjU0 :2016/10/17(月) 12:35:58.76
>>755
ありがとうございます。
r27のL10系とL20系は大丈夫なようですが、L30系だと初期化に失敗しますね。
ドキュメントにあるROMファイルは一通り入れてあるのですが…MD5SUMでも出したほうがよろしいでしょうか。

758 :トマ ◆7IxBfMAVCU :2016/10/18(火) 01:32:10.55
>>757
V3でJSUBMON.ROM(日本語通信カードROM)が必須になっていました。
お持ちであれば配置してください。
ない場合、16KBのダミーファイルを作成し、置いてみてください。
次版で修正します。

指摘というか発見というかありがとうございました!(`・ω・´)ゞ

日本語カードと日本語通信カードを併用出来るようにしたので、
両者のDICROM.ROM読み込みバッファを共有化したのですが、
日本語通信カードROMセットの方が先に読み込まれるためjcard_availableを
ROM存在フラグにしたところJSUBMON.ROMも必須になってしまっていたという笑えないバグでした…。

759 :トマ ◆7IxBfMAVCU :2016/10/18(火) 02:39:08.20
>>758
×jcard_availableをROM存在フラグにしたところ
○jsub_availableをROM存在フラグにしたところ

760 :Artane. ◆1o3c8RYIzjU0 :2016/10/18(火) 17:01:58.78
と言うことで、VM廻りを高速化するために、不要なmix_sound()をなるべくしないようにしてみました。
副作用として、音を鳴らすデバイスでは、レジスター等をいじった場合にtouch_sound()するか、もしくは重くなるのを承知でset_realtime_render(bool)する必要が出ました(^_^;
後者の関数は、未だ再入可能じゃないので後で改めます(^_^;
まぁ、今の調整値だと0.5mS毎に強制的に音をレンダリングしてますが、ある意味ソ連的な解決方法ですね(;´Д`)

https://osdn.net/projects/csp-qt/releases/66586

>>758
ありがとうございますm(_ _)m
回避策を確認できました。

761 :ナイコンさん:2016/10/18(火) 17:08:54.45
ソ連の人なの?

762 :Artane. ◆1o3c8RYIzjU0 :2016/10/18(火) 18:41:22.34
>>761
ソ連は好きですが、ロシア人ではありませんよ(;´Д`)

763 :ナイコンさん:2016/10/18(火) 19:12:21.53
ソ連的って、あれですか

アメリカが無重力でもかけるボールペンを開発したのに対して「一方、ソ連は鉛筆を使った」ってヤツでしたっけ
おもろいネタでした

764 :ナイコンさん:2016/10/18(火) 21:22:19.66
>>763
「アメリカでは、あなたがパーティーを見つけ出す!!」

「ソビエトロシアでは、党(party)があなたを見つけ出す!!」

765 :Artane. ◆1o3c8RYIzjU0 :2016/10/19(水) 02:54:50.70
>>763
そういうのもありますし、ソ連やロシアの兵器や衛星打ち上げロケットなどの(直近の最新兵器は違いますが)、
一度出来がいい物が出来ると、
色々加えたり改造したりして改良を続け、流石にこれ以上改良続けても厳しいよね。
という段階に至るまで改良を頑張った結果、最初の物とはかなり違ってしまう。
というスタイルを連想してしまったんですよ(^_^;)

以下、単なるオタの蘊蓄:
例えばSu-27戦闘機が継続して改良され続け、縦列複座の戦闘爆撃機になり、そこから更に爆撃機に近づくためにコックピットを並列にしてチタン装甲のカプセルにしたり、
戦闘機としての性能上げるのに、エレクトロニクスの改良だけじゃなしにエンジンも改良し、色々改良した末に見た目の形が似ているだけの戦闘機を色々作っている。
という故事とか、戦車なんかでもそういうのありますし、ソユーズロケットの基本設計の古さをベースにするのは変えずに、色々な部分を改良し続けた結果、世界で最も信頼性の高い有人打ち上げロケットになっているのも、ソ連式ですね。

766 :ナイコンさん:2016/10/21(金) 08:00:20.42
FM-7系列のエミュで使えるカナ入力支援ソフトってないですか?
PC88系でいうところのKanaTyperとかRND4M88にあたるソフト。
カナ入力のソフトの時かなりつらいので、欲しいのですが。

767 :ナイコンさん:2016/10/21(金) 17:39:31.81
ホストで入力しておいてエミュに渡す。

768 :ナイコンさん:2016/10/22(土) 18:03:29.14
>>766-767
入力支援ソフトは知らないけど
「ホストで入力しておいてエミュに渡す」という事ならdashがペースト機能に対応してるので
iniファイルの[keyboard]セクションに
PasteWait=20
PasteWaitCntl=200
って入れる「ツール(T)」メニューに「貼り付け(E)」ってのが追加される。
…まぁ、いちいち別ウィンドウのエディタで入力して
エミュレータのメニュー開いて貼り付けるのも面倒だと思いますが、
どうしてもカナ入力がしんどければ試してみるのも一手かも。
ちなみに漢字モードでの漢字入力には非対応です。

769 :ナイコンさん:2016/10/22(土) 18:31:36.75
>>768 横からだけどサンクスです

770 :ナイコンさん:2016/10/23(日) 08:15:52.40
>>768
回答はありがたいのですが、XM7dashV3.4L77R27が起動しないので
その方法が使えませぬ orz
「仮想マシンを初期化できません」のエラーダイアログが出ます。
(WinXPsp3です。本家XM7のV3.4L77aは問題なく起動できます。)

カナ入力支援は需要があると思うんですけど、ソフトがないみたいですねぇ。
悲すぃ

771 :ナイコンさん:2016/10/23(日) 09:50:21.44
武田さんのePC-8801MAで、PC-8801mkIISRのデモに一部不具合があるようです。

1. 最初のNECロゴが飛んでくるときの輪郭の色が赤くない

2. 銀紙の星飾りで背景の色が変わるときに黒いボックスが残る

772 :ナイコンさん:2016/10/23(日) 11:27:10.77
カナ入力するAVGならV2で問題ない気がするが

773 :ナイコンさん:2016/10/23(日) 16:05:09.48
>>770
すいません、起動しない不具合の件ですが、
とりあえず『'00'で埋まった16KB(16384バイト)のJSUBMON.ROM』を置いていただければ起動します。
FM77AV40EX/20EX/40/20モード時はこれで問題なく動作します。
FM77AV/FM-7モードにする際は
オプション2の「日本語通信カード」の「有効」チェックを外してください。

詳細は>>758-759 をご覧ください。

774 :ナイコンさん:2016/10/23(日) 16:47:55.12
>>773はV3 R27の対策で、V2使用時にはJSUBMON.ROMが無くても起動します。

775 :ナイコンさん:2016/10/23(日) 23:35:14.75
>>760
20161010版と20161018版の比較です。MSX。
普通にPSGでメロディーを鳴らすだけなら、どちらも音質は同じように聞こえます。
しかし、数kHz(たぶん)の周期でレジスタを書き換えて喋らせるような処理をしているソフトの場合、全然違って聞こえます。MSXで使用しているのはYM2203クラスのPSG部分と、PCM1BITクラス。
20161010版は正常、20161018版は変。

776 :Artane. ◆1o3c8RYIzjU0 :2016/10/25(火) 14:52:22.08
次のリリースで、一部の機種にローマ字カタカナ入力支援機能が入ります。
かなりトリッキーな真似をしてますので、上手く動いてるのが現状FM-7系だけ。(PC-88にも入れてみたけど、改行に問題が)
多分ですが、機種毎のワークアラウンドが必要かも。

>>775
多分直せました(;´Д`)

777 :ナイコンさん:2016/10/27(木) 23:29:52.41
XM6 TypeG version 3.30 L10にバージョンアップしたら
ジオグラフシールのタイトル画面が正常に表示されなくなったっす

778 :Artane. ◆1o3c8RYIzjU0 :2016/10/28(金) 05:45:47.10
またまたリリースしました。
https://osdn.net/projects/csp-qt/releases/66623

予告通り、ローマ字かな変換機能を一部の機種に入れました。
romaji_kana.ja.txtをお読みくださいませ m(_ _)m

779 :ナイコンさん:2016/10/28(金) 22:54:31.77
>>778
20161027版ですが、
>プロシージャ エントリ ポイント iconv がダイナミック リンク ライブラリ iconv.dll から見つかりませんでした。
で起動できませんでした。avcodec-57.dllを20161018版から持って来れば起動します。
起動すれば、喋るソフトの音質も大丈夫っぽいですが、今のところは temporally fix なんですかね。
ローマ字変換も少し試しましたが、動いているようです。しかし、MSX2以降では標準でローマ字入力をサポートしているので、活用する機会は「emumsx1.exeでは動くけどemumsx2.exeでは動かないソフト」と「BIOSを使わずにキー入力させるソフト」ぐらいか……(個人の感想です)

780 :ナイコンさん:2016/10/30(日) 00:16:04.20
>>779
申し訳ございませんでした、iconv付きでビルドされていたのに気づかなかった。
で、修正版DLLセットです。

https://osdn.net/projects/csp-qt/releases/66628

お試しをm(_ _)m

781 :ナイコンさん:2016/11/05(土) 21:40:57.80
ちょい前に話題になったので暇があれば作ろうかと思ってた
xm7dashのコピペを楽するツールが出来たので
需要はほとんどないだろうけどアップしてみます
適当な作りなので出来についてはご了承を
https://www.axfc.net/u/3739122.zip

782 :ナイコンさん:2016/11/06(日) 13:44:31.91
それらしきスレッドがなかったので、ここで質問させていただきます。
もしこの質問に適したスレがあれば、教えてもらえたら助かります。

10年前に買った東芝のノートパソコンに、「タイトーメモリーズ」という何種類かのゲームが
できるアプリが付いてきました。
外付けハードディスクにフォルダを移動しても動いていましたが、今回、メーカーの違う
パソコンを買い、それに外付けをつないで、その「タイトーメモリーズ」を起動させようとして
も当然遊べません。
遊べるようにする方法ってあるのでしょうか。

タイトーのゲームが入っていたパソコンは Vista で、最近そのパソコンを初期化したため、
アプリの再インストールをするときに、同時に DirectX というアプリの実行のためのなにかが
インストールされたのを覚えていて、これが手掛かりになるような気がします。
Vista に入っていたアプリを、Windows 10 で動かそうとしています。
単純に、Vista の program files の中の DirectX をコピーして、10 の中の program files (x86)
などに入れれば動くというものではないような気がします。

これを遊ぶために、Windows 10 にするべきことなどを教えてください。

783 :ナイコンさん:2016/11/06(日) 14:05:37.29
このスレにはエスパーはいないよ

784 :ナイコンさん:2016/11/06(日) 14:28:54.08
Win10に変えたら、オレ環境でも古いゲームが動かなくなるものが少なくなかったからなあ。
Win10をやめないと動かんかもしれんよ>>782

785 :ナイコンさん:2016/11/06(日) 15:08:38.67
アプリ起動ではなく、Setup.exe からインストールしてみようと思いましたが、途中、
「DirectXインストールファイルが見つかりません」と出て、それでも c:\Program Files (x86)\Taito\MEM_7
にインストールする感じだったので「インストール」を押すと「TAITOMEM.CABを読み込めません!」
とエラーが出ました。
DirectXのインストールは失敗しました。
TAITO MEMORIESのインストールは失敗しました。
とメッセージが出ます。
外付けからの.exe 起動です。

Vista は F40/85C という機種で、10 は DA770DAR です。
>>784
そうかもしれませんね。
まさかそのゲームをやるために仮想OSというのも。。。
でも集められるだけの情報は集めてみたいと思います。
なんとなく動く予感がします。

786 :ナイコンさん:2016/11/06(日) 15:16:51.43
windowsの話題は板違い
無法者は去れ

787 :ナイコンさん:2016/11/06(日) 15:30:15.68
Windows 10 質問スレッド Part31 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/win/1476102450/

788 :ナイコンさん:2016/11/06(日) 19:11:43.91
>>787
誘導どうもです。

789 :ナイコンさん:2016/11/06(日) 20:58:06.97
>>784
できたよ!
「d3dx9_30.dllが見つからなかったため、このアプリケーションを開始できませんでした」
この伝言が鍵だったよ。
DirectX エンド ユーザー ランタイム こういうのを入れたら動いた。

790 :ナイコンさん:2016/11/06(日) 22:36:37.50
今日のアップデートで
ジオグラフシールのタイトル画面のバグが直ってた
作者様、ありがとうございます。

791 :トマ ◆7IxBfMAVCU :2016/11/06(日) 22:59:11.37
>>781
補助ツールありがとう!
試用したところカナ入力の代行に必要な機能が備わっていると感じました。

本来であればエミュレータ側で外部入力のI/Fを用意する方がいいだろうなぁと思っていたところでしたので、その辺り含めまた別途検討してみます。

792 :781:2016/11/06(日) 23:40:38.17
>>791 感想ありがとうございます
XM7に対応してるカナ入力支援ツールがほしいけど
自分の技術では作るのちょっと無理だなと思っていたんですが
ペースト機能をつけてもらってほんとありがたいです
エミュ本体に実装するなら、フルスクリーンでも使えるようになればいいなと思います

793 :781:2016/11/08(火) 00:11:23.85
781です
>>781でアップしたツールですが
何も入力しないで実行すると強制終了するバグがありました
後日修正版をアップいたします
ダウンロードした方申し訳ありませんでした

794 :ナイコンさん:2016/11/08(火) 06:51:06.45
仮名入力対応してくれるのか。ありがたや〜

795 :781:2016/11/08(火) 08:42:58.35
781です
CopyPe for XM7dashのバグとりしたファイルをアップしました
https://drive.google.com/open?id=0BxW8wb6bAl2JY3BBc3JEYW1uYU0

796 :ナイコンさん:2016/11/08(火) 23:50:58.33
XM6 TypeG の作者様
グラフィックで時々右端にゴミが残るのは対象可能でしょうか?
宜しくお願いします。

797 :ナイコンさん:2016/11/08(火) 23:52:45.56
ちなみに、ゴミが残るのは

・グラナダのオープニングデモ
・電波新聞社のMr.DO

などです

798 :ナイコンさん:2016/11/09(水) 00:16:07.23
>>796
NVIDIAのドライバと相性が悪く、ゴミやスクロールに問題が起きるらしい

あと電波のムーンクレスタで背景が真っ黒
(星が流れない)

799 :ナイコンさん:2016/11/09(水) 01:34:35.40
>>795のファイルをワクテカしながら使おうとしたら
「有効なWin32アプリケーションではありません」
と怒られて起動すらしない(´;ω;`)ウッ

800 :781:2016/11/09(水) 09:41:40.51
>>799 すいません、確認してみますが、今すぐは無理なので
バージョン1の新しいリンクを貼っておきます
こちらは動きますでしょうか?
https://drive.google.com/open?id=0BxW8wb6bAl2JUzNpZ3pQMzc3WkE

801 :ナイコンさん:2016/11/09(水) 16:18:10.08
NesterJ のジョイパッド設定をしていくとき、↑(W) ↓(S) ←(A) →(D) 
セレクト(L Shift) START(L Ctrl) と設定していったとき、Bボタン設定でジョイパッドの
ボタン3、Aボタン設定でボタン4を押すと、どちらも J という設定になって、ゲームを
やり始めるとジャンプしながら銃を撃ったりと挙動がおかしいです。
前はこんなことはなかったのに、最近ワイヤレスコントローラーにして、この症状が出ました。
コントローラーは、他のゲーム、エミュレーターや JoyTokey などでは正常に動作しています。

コントローラーはエレコムの JC-U3412S です。
改善方法や、ここがあやしい、と思われる方、アドバイスお願いします。

802 :ナイコンさん:2016/11/09(水) 16:26:36.39
すみません、JoyTokey とかぶっていました。
JoyTokey は終了させたつもりでもタスクバーの中にあると動いていますね。

ついでにですが、NNNesterJ で、その設定したボタンを、次にNesterJ を起動させたときも
同じ設定で起動させたい場合、ネット上にはその設定の仕方が一部書かれているようですが、
私のNesterJ にはない項目があるような気がします。
どのようにすると次回もその設定で動くようになるでしょうか。

803 :ナイコンさん:2016/11/09(水) 20:56:35.66
>>800
win7 64bitでは起動するものの、xp 32bitでは両方とも起動しない(´・ω・`)

804 :ナイコンさん:2016/11/09(水) 21:11:46.29
>>799 >>803 は同一なのかな?
こちらがWin7 32bitで動いているんでXPの問題ですかね
新たに.NET Framework 4設定でビルドした物ですが、こちらなら動くんでしょうか?
https://drive.google.com/file/d/0BxW8wb6bAl2JYWdDMnB0eEtRRDA/
お時間のある時にご確認、ご報告いただければありがたいです
プログラミングするのがほんとに久しぶりでC# .NET Framework環境
のことがいまいち分かってなくお手数かけてすみません

805 :ナイコンさん:2016/11/10(木) 01:56:57.96
>>804
たびたびありがとぅ。
今度はxpで起動するようになったものの、xm7dashにカナが入力されませぬ。
xpは.net framework4.5をサポートしていないのでうまく動かないのかも

806 :ナイコンさん:2016/11/10(木) 03:35:10.73
たぶん何度か出てる質問かもしれんけど
闘神都市2をデーモンツールで起動は出来たんだけど
SEは鳴るがBGMが鳴らない。
どうすりゃいいんだ

807 :781:2016/11/10(木) 07:25:19.26
>>805 チェック報告ありがとうございます
だめでしたか、やってる事は単純な処理なのに残念です
Win7からの対応って事でご了承ください

808 :ナイコンさん:2016/11/11(金) 06:24:56.99
そうですか(´・ω・`)

809 :781:2016/11/11(金) 22:25:36.57
>>805 たびたびすいません
カナが入力されないって事ですが、
半角英数は入力されるけどカナはダメって事でしょうか?
英数カナともダメなんでしょうか?
できるかわかりませんが、使ってる命令は.NET Framework4でも動くはずなんで
もしXP対応できたら、またこのスレでお知らせしようと思います

810 :ナイコンさん:2016/11/12(土) 02:49:36.99
>>809
なんにも入力されません。転送処理した「感」があるだけです。
ジョークソフトのような挙動です。

811 :781:2016/11/12(土) 09:19:43.70
>>810 返信ありがとうございます
まったく動いてないんですね…

812 :Artane. ◆1o3c8RYIzjU0 :2016/11/12(土) 13:49:29.58
>>804
ソースコード晒せば誰かが突っ込んでくれるかもしれませんニャ。
私はC#とかWindowsは殆ど知らないのですが。
後、私のコード流用してる場合は私のはGPLなんで、晒すのが義務ですよぉ(^ω^)

813 :ナイコンさん:2016/11/12(土) 14:20:30.77
きもいニャ。(^ω^)

814 :ナイコンさん:2016/11/12(土) 14:51:53.11
しねニャ。(^ω^)

815 :ナイコンさん:2016/11/12(土) 14:57:56.01
はんニャ。
 /i               iヽ
 ! !、      ___        / ノ
 ヽ ヽ、 ,彡フ ̄  ̄ヽミミ、/ /
  ヽ フ''         く /
   _ 〉'           ヽ/,_
  (ヽi,      /;ヽ       i/ )
   i ! ,,_____ノ、i;;iヽ、_____、 i i
    ! 'ヽ__●ノ' 'ヽ_●,ノ ,ノ i
   !、jヽ、 ,-   ;; -、 / _ノ
    〉 /,、''`ヽ__/` ' ,、'  )
    '!, ヽ`t-,、__, -'イ/  /
    ヽ ヽt,=,='='=イi  /
     \ `'"~⌒~"' ノ
       `-- ^-- '

816 :781:2016/11/12(土) 15:07:51.67
>>812 いやいやArtane.さんが何を作られてる方か知らないんですが、
あのソフトの中身はGPLとか流用とかそういうレベルの物じゃないんで…
ただ思いついて先に公開した人の手柄みたいなものなので

817 :Artane. ◆1o3c8RYIzjU0 :2016/11/12(土) 15:56:37.76
>>816
了解ですニャ

818 :ナイコンさん:2016/11/12(土) 20:24:26.43
実質処理3行ですから、はずかしくてソースなんて見せられません…

819 :ナイコンさん:2016/11/12(土) 20:42:23.39
C#+.NET Frameworkで作ってるんだったら、ソース公開しなくても逆コンパイラみたいなのを使えば中身はある程度わかりそうな気がするワン

820 :ナイコンさん:2016/11/12(土) 21:03:45.88
>>815
本名の松平鶴次郎を名乗るのは何話あるのか教えてください。

821 :ナイコンさん:2016/11/12(土) 21:59:08.36
kana typerを改造してどうにかならんかと思ったけど
ソース公開してないのね

822 :ナイコンさん:2016/11/12(土) 22:34:18.98
For Bbbb = 1 To 3000
Print #1, Jjjj 'CPU処理のためのPrint文
For Kkkk = 1 To 120
Kkkk = Kkkk + 65468543
Kkkk = Kkkk - 65468543
Next Kkkk
Next Bbbb

823 :Artane. ◆1o3c8RYIzjU0 :2016/11/13(日) 03:54:45.15
コテで出たので、少し書きますニャ©ネコ神様

最近は、表示周りを中心にあれこれ弄っております。
レンダラーを追加して、ありし日のテレビにRFモジュレータをつけて色々やっていた頃の感じに描画するモードを一部機種に付けました。
但し、これはまだまだ不完全なんですよね。色合いとかなんやらが、沢山不完全。
もう少し洗練出来れば、手を広げたい物です。

OpenGL周りのコードを整理しています。
必要に応じて、画面の拡大縮小や合成、スプライトのレンダリングを仮装のVRAMに書いて、エミュ側で利用する事で、重い処理をオフロードできないかな?と、模索しております。

後、ローマ字仮名変換支援機能の実装がめちゃくちゃ頭の悪い実装してますので、アルゴリズム温存してあれこれ書き直していきます(´・ω・`)

824 :ナイコンさん:2016/11/13(日) 04:56:12.93
きもいしねニャ。(^ω^)

825 :ナイコンさん:2016/11/13(日) 17:33:59.81
CompJapan新メモリ最適化ツールのソースとかなんで保存してんだよwww

826 :ナイコンさん:2016/11/13(日) 17:41:37.73
カナ入力支援って結局エミュがペースト機能付けたら
ごく簡単な支援ツールですむって結論がついた

827 :781:2016/11/14(月) 20:58:02.13
781です XM7dash用カナ入力支援ツールですが
今さらながらEnterでの入力に対応トしたのでリンクはっときます
https://sites.google.com/site/gasaroom/soft/cp47d/CopyPe47d_110.zip

828 :ナイコンさん:2016/11/15(火) 15:02:37.89
10を買ったら、ほとんどすべてのエミュを起動させると、最初の画面に
「スクリーンショットは・・・」だとか、なんかショートカットのお知らせが出るようになった。
なぜ出るようになったのだろう。

829 :ナイコンさん:2016/11/15(火) 15:12:40.26
ゲームバー

830 :ナイコンさん:2016/11/15(火) 20:25:57.05
>>829
調べたら10の新機能なんだってな。
次から表示させないこともできるけど、なるほどね。

831 :ナイコンさん:2016/11/16(水) 03:25:05.79
xm7dash V3.4L77R28は「張り付け」が無くなってるけど、機能廃止?

832 :ナイコンさん:2016/11/16(水) 11:29:37.88
コピペツールが出てきたと思ったら無くなるとは何かあったのかな?

833 :ナイコンさん:2016/11/16(水) 23:20:22.16
XM6 TypeGで、バグかわかんないですけど、
電波新聞社のディグダグで、しばらくデモを表示していると
タイトル画面とか、残機表示の所とか、色々と画面がバグります。
WinX68k高速版ではバグらないので、一応ご報告。

834 :ナイコンさん:2016/11/16(水) 23:48:33.50
あとすいません、
XVIモードやXVI compactモードだと
SRAM.DATが保存されないようなのですが、
こういう仕様でしょうか?

835 :ナイコンさん:2016/11/17(木) 00:30:48.60
>>834
電源スイッチをオフにしたり、メニューから終了した場合に
EXPERTモードだと、SRAM.DATが更新されますが、
XVIやcompactだと更新されません。

なのでムーンクレスタの星も表示されません。

836 :ナイコンさん:2016/11/17(木) 08:33:18.91
>>831 無くなってないよ

837 :ナイコンさん:2016/11/17(木) 20:54:52.81
>>836
ないけど。どこにあんの?

838 :ナイコンさん:2016/11/17(木) 21:08:58.80
ini変更してないってオチなんでしょ

839 :ナイコンさん:2016/11/17(木) 22:52:01.10
>>835
CompactはSRAMCMP.DATが更新されていました。
失礼しました。

しかしCompactではムーンクレスタの星が表示されない。
CompactはSRAMにシードを持たない仕様なのかなぁ?

840 :ナイコンさん:2016/11/18(金) 23:03:55.70
>>839
もしやと思ってHumanのディスクで起動して一分放置したら
ムーンクレスタの星が表示されるようになりました。

今まではSX-Windowのディスクで立ち上げてHDDをフォーマットして
SX-Windowをインストールして、ずっとSX-Windowで起動していたのでした。

アドバイス、ありがとうございました _o_

841 :ナイコンさん:2016/11/19(土) 23:29:37.15
メタルオレンジEXの画面フェードイン・アウトが異様に遅いのはなぜ?

842 :ナイコンさん:2016/11/20(日) 15:21:44.61
>>796
L32でゴミが出なくなりました!
ありがとうございました!

843 :ナイコンさん:2016/11/21(月) 10:51:06.93
XM6 TypeGで中央のドット幅が横に広い現象は、MAMEで同様の症状が
見られるのでプリスケールやバイリニアフィルタ周りを流用してるのかな?
MAMEのプリスケールをx2にすると画面中央に、x3にすると画面を垂直に3等分した部分
の2箇所、x4にすると4分割した3箇所に垂直列のドット幅広がでる

ちなみにMAMEでは描画をDirect3DからOpenGLに変更すると症状は出ない

844 :Artane. ◆1o3c8RYIzjU0 :2016/11/21(月) 23:26:29.08
久しぶりにリリースかけました。
https://ja.osdn.net/projects/csp-qt/releases/66766

一部のマシンで、RFモジュレータにつないだテレビで見た感じをシミュレートするという、ヘンな事をする為に色々代えたり追加したりしました。
件の機能は、OpenGL3.0以上が使える環境必須になってます(Windowsだと、AMDもnVidiaも、メーカ提供のドライバーは対応していた気がしますが、確認しようがない)。
一応、ソフトウェアで描画するOpenGLドライバを付けてありますが、これでテレビモードを使うとめちゃくちゃ遅くなります(^_^;)

845 :ナイコンさん:2016/11/22(火) 20:13:31.88
ケガフュージョンでサーガイアをやると、左と下に黒い線が入るんだけど、設定でどうやっても
直らないんだけどがまんするしかないですか。
ウィンドウはリサイズ、好きな大きさにしてやっています。

846 :ナイコンさん:2016/11/23(水) 00:55:46.04
SMS版とGENESIS版のどっちのサーガイアだ?
ちなみにうちはどっちも黒い戦なんて入らない
画像はプラグインとか使っているのか?

847 :ナイコンさん:2016/11/23(水) 09:28:02.81
>>846
マスターシステムのサーガイアだよ。
プラグインとか特別なものは何も入れてないと思うよ。
使い始めたばかりだからね。
こうなるんだ。
http://fast-uploader.com/file/7035415470084/

(別の質問)
それから、ゲームパッドテストをすると、スティックではXY軸に反応はするものの、
十字キーでは反応しないでハットスイッチ(POV)でのみ反応するパッド(FC30 PRO)を
買ってしまったのだが、NesterJ 以外で Joytokey なしで十字キーで動くファミコンエミュ
なんてあるのですか。
これ、前のエレコムのワイヤレスでは十字キーでも動いていたことから、FC30 PRO が
どこか足りないコントローラーということになるのかな。
まあこの話しはたいしたことないので読み流してもらってもかまいません。

848 :ナイコンさん:2016/11/23(水) 11:51:48.30
スレチすぎる

849 :ナイコンさん:2016/11/23(水) 12:03:56.36
>>847
仕様
実機でもこうなる

850 :ナイコンさん:2016/11/23(水) 12:32:46.39
>>849
仕様ならしかたがないな。
他のエミュでもそんなかんじになるのか。
じゃあPSPのエミュが優秀ってことになるのかな。

851 :ナイコンさん:2016/11/23(水) 12:44:04.87
>>850
エミュの仕様じゃなくてマークIIIの仕様
横スクロールさせるときは左8ドットをマスクさせないと
VRAMのループする部分が表示されてガタガタになる

852 :ナイコンさん:2016/11/23(水) 12:51:27.95
古き良き、1970年代〜90年代のマイコンエミュレーター統合スレッドです。

853 :ナイコンさん:2016/11/23(水) 13:25:55.38
今の今まで『総合』スレだと思ってた

854 :ナイコンさん:2016/11/23(水) 13:29:40.01
MSX2の低価格路線を決定づけたのは、FDD搭載で6万円という
松下のFS-A1FとソニーのHB-F1XDの同時発売だが
特に力を入れたのがソニーで、メーカーに金をばらまいて
ジーザス・イース・信長の野望を移植させるという暴挙に出た。
しかし効果は絶大で、MSX予備軍にMSX2を買わせる十分な起爆剤になった。

855 :ナイコンさん:2016/11/23(水) 13:31:56.74
マスターシステムがマークIIIの部分強化型、ほぼ同一だと書いとかないと理解しない人もいてそうなんだよだな

856 :ナイコンさん:2016/11/23(水) 13:44:02.63
※家庭用ゲーム機器は板違いです。(ぴゅう太はOK)

857 :ナイコンさん:2016/11/23(水) 15:08:37.52
SC-3000は?

858 :ナイコンさん:2016/11/23(水) 15:16:28.79
セガブランドのPCはテラドライブだけです

859 :ナイコンさん:2016/11/23(水) 18:48:51.39
そういやそうだな、ゲーム機のエミュはこのスレの対象外だ

860 :ナイコンさん:2016/11/23(水) 23:01:28.17
PCエミュレータのスレだから
PCエンジンはいいんじゃないの?

861 :ナイコンさん:2016/11/24(木) 00:09:10.69
VAの事か?

862 :ナイコンさん:2016/11/24(木) 01:08:32.44
VACAばっか

863 :ナイコンさん:2016/11/24(木) 16:02:09.03
LOGINムックで発売されたPC98版のオホーツクに消ゆって
どこかのエロゲメーカー作成だと思うのですが
作画的にどこのメーカーかわかりますでしょうか?

864 :ナイコンさん:2016/11/24(木) 16:03:43.32
PCエミュレーター統合スレッド Part7

865 :ナイコンさん:2016/11/24(木) 16:12:18.56
PC-6001のオホーツクに消ゆがダウンロードできるURLを教えてください。

866 :ナイコンさん:2016/11/24(木) 18:16:56.36
そのパソコンのオホーツクの内容はファミコンとほとんど同じなんだろうか。

867 :ナイコンさん:2016/11/24(木) 19:53:18.62
犯人が違う

868 :ナイコンさん:2016/11/24(木) 19:55:41.13
>>863
ムックに書いてある

869 :ナイコンさん:2016/11/24(木) 20:47:34.67
オホーツクは旧版に限る

870 :ナイコンさん:2016/11/24(木) 21:49:47.30
>>868
ムック捨てちゃったんですよ。。。

871 :ナイコンさん:2016/11/24(木) 22:16:45.90
>>863
wikipediaに有限会社アイデスって書いてあるけど

872 :ナイコンさん:2016/11/24(木) 22:19:21.46
>>866-867
wikipediaでの説明だと、初期ストーリーの前期版とファミコンに移植時に改定された新ストーリーの後期版に分かれてるっぽいな

初期の9801版は前期、ムックの9801版のは後期。
つまり質問の「ムック版」はファミコン版のストーリーとほぼ同じらしい。
がグラフィックとかは違うように見える。

873 :ナイコンさん:2016/11/24(木) 22:26:30.70
【家庭用】アドベンチャーゲームを語る Part.2
http://tamae.2ch.net/test/read.cgi/retro/1327525355/

874 :ナイコンさん:2016/11/25(金) 00:12:03.24
そうだよ
ファミコン版と内容は同じ
夕張炭鉱の迷路もある

875 :ナイコンさん:2016/11/25(金) 13:15:35.00
ムック「やぁ、僕はムックだよ(´・ω・ `)っ」
ママ「また変なの拾ってきて、捨ててきなさい!」
俺「はーい」

ムック捨てちゃったんですよ。。。

876 :ナイコンさん:2016/11/25(金) 17:59:49.52
ガチャピン「おかえりムック」

877 :ナイコンさん:2016/11/26(土) 09:42:28.44
つまりこのスレはNNNesterJとかVirtuaNESの話しはしてはいけないってことなのかな。
どこのスレに行けばいいのだろう。

878 :ナイコンさん:2016/11/26(土) 10:46:35.71
ソフト板

879 :ナイコンさん:2016/11/26(土) 12:33:55.95
Ootakeってもう更新しないの?

880 :ナイコンさん:2016/11/26(土) 12:40:11.96
板ちネタいらないから

881 :ナイコンさん:2016/11/26(土) 16:40:08.43
XM6 TypeG L33
プリスケールOFFでもスクロールがゾワゾワする
線形補間フィルタかければ誤魔化せるが、ボヤけるし…

GeForce窓から投げ捨てるしかないのかな

882 :ナイコンさん:2016/11/26(土) 19:25:48.32
>>877
VirtualNESはアリだろ
ファミベーの選択肢はこれとNester系と武田氏のやる気のないeファミベーしかない
vtpとtpr、wavの相互変換ソフト無いかなぁ・・・

883 :ナイコンさん:2016/11/26(土) 19:33:15.51
NES系は全部NGだろ
1も読めないのかよボケナス

884 :ナイコンさん:2016/11/26(土) 19:40:37.81
1がファミベ知らないだけだろ!
お前は1が死ねと言ったら死ぬのか?

885 :ナイコンさん:2016/11/26(土) 19:42:18.31
>>881

デスクトップ解像度1920x1080:フルスクリーン

31K(横移動ゲー)
 ストレッチ:1.0倍
 線形補間フィルタ:OFF
 プリスケール有効:OFF
 フルスクリーン時に自動拡大:ON
 垂直同期:ON
 CRTフレーム表示:ON
 幅:91%

31K(紙芝居系エロゲー)
 ストレッチ:2.0倍
 線形補間フィルタ:ON
 プリスケール有効:OFF
 フルスクリーン時に自動拡大:OFF
 垂直同期:OFF(スクロールあり系ON)
 CRTフレーム表示:OFF
 幅:100%

15K(横移動ゲー)
 ストレッチ:2.0倍
 線形補間フィルタ:ON
 プリスケール有効:OFF
 フルスクリーン時に自動拡大:OFF
 垂直同期:ON
 CRTフレーム表示:OFF
 幅:100%
 15KHスキャンライン:ON

886 :ナイコンさん:2016/11/26(土) 20:31:51.36
1のどこに書いてあるのかわからんから読めんな
家庭用としか書いてないし・・・

まぁ、あれか?
SC-3000なら認めるが、SG-1000+SK-1100 オマエは却下なwみたいな

887 :ナイコンさん:2016/11/26(土) 20:56:15.81
APF Imagination Machine なんてゲーム機部分とキーボードその他部分が分離合体するしな。
分離してる時は只のゲーム機、合体してる時はパソコン。
>>883の見解ではどうなのか、是非お聞かせ願いたい。

888 :ナイコンさん:2016/11/26(土) 21:40:22.36
自分でもわかってるんだろw
むきになるなよw
ばいばいw

889 :ナイコンさん:2016/11/26(土) 22:45:49.47
AppleIIGSとAmigaのおすすめエミュレータを教えてください

890 :ナイコンさん:2016/11/26(土) 23:15:00.35
IIGSはGSportしかないわな
AmigaはWinUAEだべ。FS-UAEの方が良いかは知らんけどランチャーが嫌い

ATARI2600とのStellaとかmessとかmameとかランチャーが最悪じゃ〜
ファイルの管理も自由にさせてくれや・・・ ファイル名管理下とかもう・・・
SDLとかで日本語ファイルやフォルダ使えないと泣けてくるわ

891 :ナイコンさん:2016/11/26(土) 23:24:37.06
KEGSは?

892 :ナイコンさん:2016/11/26(土) 23:28:41.50
Atari 8bitは良いエミュレータないんだよなー

893 :ナイコンさん:2016/11/26(土) 23:31:55.21
AtariST なら Hatari

894 :ナイコンさん:2016/11/26(土) 23:35:23.28
AV女優ならHatano

895 :ナイコンさん:2016/11/26(土) 23:41:38.61
KoreanならHattari

896 :ナイコンさん:2016/11/26(土) 23:57:40.98
>>885
ありがとうございます
GeForce捨てずに済みました

897 :ナイコンさん:2016/11/27(日) 00:11:29.86
>>885
その設定で横スクロールは完璧になりましたが、
今度は縦スクロールが酷いことになってしまいました
いろいろ設定弄ってみます

898 :ナイコンさん:2016/11/27(日) 01:06:22.46
あぁ…縦は考慮してなかった
31Kで縦を重視するなら横が犠牲になるけどストレッチ2.0倍、これくらいしかない気がする

899 :ナイコンさん:2016/11/27(日) 13:25:31.47
XM6TypeG L32とL33は起動してるだけでもCPU使用率がL31よりもとび抜けて高いな

900 :ナイコンさん:2016/11/27(日) 21:54:38.47
プリスケールってそんなに負荷かかるのかね

901 :ナイコンさん:2016/11/27(日) 23:09:34.73
AMDの大勝利

902 :ナイコンさん:2016/11/28(月) 00:07:52.22
亀レスになってしまいましたが、
>>844
Windows7、opengl32.dll使わない、Cygwin64の端末から起動すると
QWidget::repaint: Recursive repaint detected
Segmentation fault
で落ちました。Cygwin64のgdb経由ではRecursiveなんたらのメッセージは出ませんが、Program received signal SIGSEGV, Segmentation fault.で落ちます。

Windows7、opengl32.dll使わない、exeダブルクリックで起動すると落ちないようですが、QCWliodsgee:t :W:rrietpea:i n tV:i dReeoc u0r sfirvaem erse,p aAiundtiod e0t efcrtaemde のように他のメッセージと混じってRecursiveなんたらのメッセージが出ています。

以下は落ちないし、Recursiveなんたらのメッセージも出てない様子。
Windows7、opengl32.dll使う、exeダブルクリックで起動する
Windows7、opengl32.dll使う、Cygwin64の端末から起動する
Windows7、opengl32.dll使う、Cygwin64のgdb経由で起動する
別ハードウェアのWindows10、opengl32.dll使わない、exeダブルクリックで起動する
別ハードウェアのWindows10、opengl32.dll使わない、MSYS2のmingw32環境の端末から起動する
別ハードウェアのWindows10、opengl32.dll使わない、MSYS2のmingw32環境の端末のgdb経由で起動する

Windows7のハードウェアかデバイスドライバ周りが壊れている可能性もありますが、20161121版は古いハードウェア+動作タイミング等によってはうまく動作しないという可能性もあります。
Windows7のハードウェアはノーパソのIntel HD Graphics 3000なので、OpenGL3.1まで対応しているはずなんですが。

903 :Artane. ◆1o3c8RYIzjU0 :2016/11/28(月) 00:10:47.18
>>900
スケーリングも何も同じCPUでやってると、どんどん負荷がかかるので、重くなるのはしかたないんですよね。
特にX68とTownsは、グラフィックが高解像度かつ色数も多く、さらにはスプライトや画面効果まで入ってくる。

なので、グラフィック周りは出来るだけ積極的にGPUに投げるべきだし、画面周りもDirectXなら色々あるので…と思います。

904 :Artane. ◆1o3c8RYIzjU0 :2016/11/28(月) 00:15:41.93
>>902
ありがとうございます。
仮想化マシンでWindows動かしてますので、確認には色々手間取りそうですが、
GLドライバーとQtとあれこれの相性問題と、多分私の側のコードの問題が相当ありそうですから、しばしお待ち下さいませ。

905 :ナイコンさん:2016/11/28(月) 11:18:38.52
すごい初歩的な質問だけど
64bitOS使っているときは
32bitバイナリより64bitバイナリの方が早いの?

906 :ナイコンさん:2016/11/28(月) 11:37:56.01
>>905
板違い

907 :899:2016/11/28(月) 12:20:21.76
電源スイッチを入れてないアイドル状態?のTypeG本体のCPU使用率が既に50%になってるけど俺だけ?
電源スイッチ入れて例えば魔界村とか何か動きのあるゲームを開始するとCPU使用率が下がるが
ESCで一時停止するとまた上昇する...アイドル状態で上昇してる気がするけどよくわからない現象
Core2Duo 2.2GHzですがL32から要求スペックこっそり上がってたり?
因みにL31まではたった1%前後(ゲーム中もせいぜい10%台)だった

908 :ナイコンさん:2016/11/28(月) 14:48:54.14
♪ア〜イド〜ルは〜
 や〜めら〜れな〜い

909 :ナイコンさん:2016/11/28(月) 21:52:51.88
Kana Typerが対応してないエミュでも
楽にカナ入力したいとWin用支援ツール作ってみました
個人的にはMSX用にと思いましたが
現状ではMSXマガジン永久保存版3では問題なさそうですが
他のエミュでは文字落ちしまくりの、アルファ版です
ご興味がある方は使ってみて、感想いただければありがたいです
https://sites.google.com/site/gasaroom/soft/emu_kanajo/emukanajo090a.zip?attredirects=0&d=1

910 :ナイコンさん:2016/11/29(火) 14:40:16.33
MSXエミュレータで今も更新されているのはopenmsxくらい…
openmsxで使えたら嬉しいにゃあ

911 :ナイコンさん:2016/11/29(火) 17:27:00.74
fMSX「…………………」

912 :ナイコンさん:2016/11/29(火) 18:26:33.96
fMSXのWindows版はシェアウェアだったような

913 :ナイコンさん:2016/11/29(火) 18:29:43.56
シュアウェアってお金払うまではフリーウェアって事でしょ?

914 :ナイコンさん:2016/11/29(火) 22:10:24.63
>>909 文字落ちするなら、ウェイトをユーザーが手動で調整できるようにしても駄目だろうか。
>>910 openMSXだったら、CatapultのInput Textを使えばいい。全角平仮名と全角片仮名に対応しているはず。
>>912 fMSXのWindows版は2013年12月31日頃に無料になったよ。それより前は、金を払った登録ユーザーじゃないと最新のWindows用バイナリを入手できなかったはず。

915 :ナイコンさん:2016/11/29(火) 23:07:20.32
ご意見ありがとうございます909です
>>910 openmsxは使ってなかったんでチェックしてみます
>>914 ウェイト調整メニューはこれからやるつもりです
調整で安定するようならアップしようと思います

916 :909:2016/11/30(水) 21:24:05.77
909です カナ入力支援ツールの新バージョン公開しました
https://sites.google.com/site/gasaroom/soft/emu_kanajo/emu_kanajo091b.zip?attredirects=0&d=1
今回のバージョンで結構安定してきたと思います。
blueMSX、fMSXの起動画面だけでのチェックですが、問題ないようでした
XM7では短時間チェックだけですがゲーム中でも問題なく使えました
動作報告いただければ大変うれしいので、お時間のある方よろしくお願いします

917 :ナイコンさん:2016/12/01(木) 07:20:05.33
blueMSXはいつまでたってもSHIFT入力時が改善されないしな

918 :ナイコンさん:2016/12/01(木) 12:38:18.65
openMSXの最新版はXPで動かないんだよなあ

919 :ナイコンさん:2016/12/01(木) 13:23:19.01
オープンソースソフトの最新版がXPでも動くことを期待する方がどうかしてると思うんだが?
旧版で我満しとけよ

920 :ナイコンさん:2016/12/01(木) 14:01:31.64
XPで動かないってかなり地名的だと思うんでが?

921 :ナイコンさん:2016/12/01(木) 15:10:02.22
住んでる世界が違うから

922 :ナイコンさん:2016/12/01(木) 23:13:08.42
TypeG開発終了

923 :909:2016/12/01(木) 23:14:48.76
909です>>916のバージョンのウェイト調整にバグがあったので更新しました
https://sites.google.com/site/gasaroom/files/emu_kanajo092b.zip?attredirects=0&d=1

924 :ナイコンさん:2016/12/02(金) 09:18:05.68
TypeG開発再開

925 :ナイコンさん:2016/12/02(金) 12:25:30.98
TypeG開発断念

926 :ナイコンさん:2016/12/02(金) 17:32:46.50
イシガキタカシ大人気

927 :ナイコンさん:2016/12/03(土) 12:22:12.22
XM6 TypeGを無理矢理XPで動かす方法はないの?

928 :ナイコンさん:2016/12/03(土) 12:36:05.78
XP厨はどこでも煙たがられてる事に気づかないジジイ

929 :ナイコンさん:2016/12/03(土) 23:40:59.85
NTカーネルは5.x系統で完成しているのだよ

930 :ナイコンさん:2016/12/03(土) 23:59:43.79
Oh, the sun shines bright in the old Kentucky home

931 :ナイコンさん:2016/12/05(月) 13:55:49.15
>>うるせー、やりまんババァ!

932 :ナイコンさん:2016/12/05(月) 16:38:02.89
アンカーもまともに使えないのかよw

933 :ナイコンさん:2016/12/06(火) 22:28:59.39
emulation9.comが403になる件

934 :ナイコンさん:2016/12/06(火) 22:30:43.70
emulation9.comが403な件

935 :909:2016/12/06(火) 22:52:13.04
909です
かな入力支援ツールのバージョンアップしました
https://sites.google.com/site/gasaroom/files/emu_kanajo100.zip?attredirects=0&d=1

936 :ナイコンさん:2016/12/07(水) 22:54:43.12
emulation9どうした?

937 :ナイコンさん:2016/12/07(水) 22:56:30.99
まだ年末じゃないのに大掃除をしたみたいだね

938 :ナイコンさん:2016/12/10(土) 01:23:49.87
他にエミュレータのポータルサイトってある?

939 :ナイコンさん:2016/12/10(土) 01:32:35.57
志保ちゃんのエミュレータニュース

940 :ナイコンさん:2016/12/10(土) 02:07:48.30
懐かしいなw

941 :ナイコンさん:2016/12/10(土) 05:23:23.84
10年ぶりくらいにピカールの蓋を開けたら固まってた・・・

942 :Artane. ◆1o3c8RYIzjU0 :2016/12/14(水) 02:59:32.43
最近、身体的不調で顔出さずに申し訳ございませんでした(このスレに)
OpenGLシェーダーの内部構造と、ローマ字カナ支援の重さや隠れたバグ疑惑の解決が、最優先ですね。(着手時期が全く未定ですが、体力なとの復旧待ち)

で、今号ですが、私が担当しているパートの整理をしつつ、OpenGLのコアプロファイルレンダラーやGL ES2レンダラーを作る事にします。

>>902
未だ、具体的なテストに踏み切れておらず…申し訳ございません。
この件、GLドライバーがあかんのか、Qtとドライバーの相性問題なのか、私が書いたコードがそれの地雷を踏んだのかが、なかなか見えてきていないので、テストが必要ですが、実機かインテルのiGPUのドライバーの動くクラウド環境がないと、どうも難しいかんじです(現状では)

943 :Artane. ◆1o3c8RYIzjU0 :2016/12/14(水) 03:05:37.13
「うんず」、確かに非常に優れてるのですが、Wineだと保護違反で落ちるし、
VirtualBOXをゲストにしたWindows10で動かすと、マウスの挙動不審やらなんやらで動くのかどうかわからないのが結構ありますよね。
なので、赤本も保護できたし、最後まで作れる自信が厳しいですが、CSPにTowns(縦置き型時代)を入れ込んでみようかと思います。
身体的不調が回復して、身の回りで貯めている事をやって、その他諸々やるなかでなので、余り期待しないでください(;_;)お願い(;_;)

944 :ナイコンさん:2016/12/14(水) 11:09:12.43
エミュレータの中でエミュレータを動かすのはサポート外

945 :ナイコンさん:2016/12/14(水) 12:07:00.48
タウンズって前期と後期で仕様変わってるんだっけ

946 :ナイコンさん:2016/12/14(水) 22:09:06.26
emulator9復活まだ?

947 :ナイコンさん:2016/12/14(水) 22:21:46.94
復活?

948 :ナイコンさん:2016/12/14(水) 22:57:29.10
>>943
後出し情報になってしまいましたが、落ちたり怪しいメッセージが出たりしない「別ハードウェアのWindows10」はCeleron N3150の内蔵GPUを使用しているので、Intelだったら全部該当するというわけでもなさそうです。
逆に、Intel以外でも適度に古くて適度に低性能なGPUでは現象が出るとか、GPUに負荷を掛けたら比較的新しいハードウェアでも現象が出るとかしないかなー(試してない)

949 :ナイコンさん:2016/12/15(木) 21:34:41.27
うおおぉ更新状況がまったくわからん!

950 :ナイコンさん:2016/12/16(金) 12:20:58.30
中出し情報まだ?

951 :ナイコンさん:2016/12/17(土) 15:16:01.46
できちゃった

952 :ナイコンさん:2016/12/18(日) 00:25:49.73
eX1turboでソーサリアンの動き
かなり遅くありませんか? コマ送りなんだけど・・・

953 :ナイコンさん:2016/12/18(日) 14:35:56.96
「野郎ども、全員で中出しロシアンルーレットだ!」

「「「「「「「「おー!!!」」」」」」」」

「いやー、やめてー!!」

二ヶ月後

「できちゃった・・・この子、誰の子!?」

954 :ナイコンさん:2016/12/18(日) 14:49:49.34
>>953

いまはすごい時代で、DNA鑑定すれば、よっぽどじゃない限り、大体たどれる

それ故、昔ソープで認知詐欺が横行していたが、いまでは認知詐欺は
ほぼ姿を消した

955 :Artane. ◆1o3c8RYIzjU0 :2016/12/19(月) 03:12:03.87
Windowsにバンドルするライブラリーをビルドし続けています(;´Д`)

>>952
後で見てみますが、無印X1ならまだしも、ターボ系だと速度的に厳しい部分が、描画関連ではありますよね。
X1で、多重重ね合わせでの高速性にこだわってるソフトだと、どういうソフトが、スピード低下が見えやすいですかね?(´・ω・`)

私の(最近少し停まってる)qt版固有機能としての(つまりは武田さん側ではマージされてない)eFM77AVのように、コンパイラのベクトル化を誘発するコードを書くとか、テーブル使うとかの過激な最適化を、御三家機種やPC-98関連ではやった方が良さそうではありますね。
最終的には、GPUに幾つかブンブン投げて貰ったりして時間稼ぎ出来るといいんですけどね(´・ω・`)

956 :Artane. ◆1o3c8RYIzjU0 :2016/12/19(月) 03:17:38.73
>>948
今日の夕方以降になりそうなんですが、数日前にこちらでhomebrewしたWindows版Qt5.7.1をアップしてみます。
後は、バンドルライブラリを作成しますので、
こちらの中身を、CSP本体と同じ所に上書きコピーして、
出来ればシェルかコマンドプロンプトから、リダイレクトなどを使ってベタテキストにログ書き込むようにして起動してみて下さい。
準備できたら、改めてお知らせします。

957 :ナイコンさん:2016/12/19(月) 04:27:15.46
>>955
ソーサリアンの件、直ってました・・・
結局なんだったのだろう・・・

958 :ナイコンさん:2016/12/22(木) 21:02:04.01
openmsxで1ドライブモードで起動(ctrl押しながら起動)するにはどうすればいい?
普通にctrl押しながらカタパルトから起動しても
有効にならない。

959 :ナイコンさん:2016/12/23(金) 00:27:23.70
>>958

openmsxを起動してF10を押すとコマンドモードに入るので
「keymatrixdown 6 2」を入力してカタパルトで[RESET]

※ここで[STOP]をすると、上で入力したコマンドがパーになる

このままだとCtrlが押されたままなので、用が済んだら
再びF10を押して「keymatrixup 6 2」

コマンドモードは、もう一度F10で閉じる

960 :ナイコンさん:2016/12/23(金) 10:34:52.77
> keymatrixdown 6 2
> reset
> keymatrixup 6 2

961 :ナイコンさん:2016/12/24(土) 22:33:11.39
XM6 TypeGで
FDドライブのシーク音とかイジェクトの音とか鳴らせたら面白いのになぁ
って、どんな音がしたかもう覚えてないけど

962 :ナイコンさん:2016/12/25(日) 18:34:51.83
X68はあまりシーク音鳴らんてか
それほど聴こえない

963 :ナイコンさん:2016/12/25(日) 19:21:59.04
FDを出し入れするときの音はしてたな
俺はPCMを鳴らすフリーソフトをS-RAMに入れていたけど
何のソフトだったかな

964 :ナイコンさん:2016/12/25(日) 20:50:54.19
あぁ、あったな
何てソフトだっけな
「ツインビーいきまぁす」って鳴らしてる人も居たな
オラ、SRAMにはSxSI入れてるけどさ(初代)

965 :ナイコンさん:2016/12/26(月) 08:05:54.34
もう半年も武田氏の更新ないのか・・・
多忙なんだな・・・

966 :ナイコンさん:2016/12/26(月) 23:24:07.07
66 :
ナイコンさん
2015/09/22(火) 00:11:07.85
30行計画ってNekoProjectだとちゃんと30行で表示できるけど、
他のエミュは対応していないね

276 :
ナイコンさん
2016/12/26(月) 23:19:10.83
>>66
Anex86だと30BIOS.COMは駄目だけど、AUTOMATE.EXEなら30行表示できる。
EXTS21.EXEも使える。
QEMU/9821は30行表示は駄目っぽい。AUTOMATE.EXEでも駄目。
EXTS21.EXEつかうと640x400,8bppは正常に表示できるみたいだけど、
640x480,8bppは何も表示されない。640x480,4bppだとQEMU/9821が
画面モード認識せず640x400,4bppのまま。

.

967 :ナイコンさん:2016/12/27(火) 22:28:45.01
とりあえずemulation9復活してほしい
更新情報がまったくわからん(´・ω・`)

968 :ナイコンさん:2016/12/27(火) 22:48:51.91
フライングそば大食いなんてしてたら糖尿病なるかもな

969 :ナイコンさん:2016/12/28(水) 09:20:00.64
恋を恋をしてるのは鉄板

970 :ナイコンさん:2016/12/28(水) 12:13:47.97
>>967
emulation9普通に生きてるやん

971 :ナイコンさん:2016/12/28(水) 13:44:07.79
言ってるの1人だけだからスルーでいいよ

972 :武田 ◆bnZpPXJze51u :2016/12/28(水) 17:05:57.44
>>965
すまんです、本業多忙でどうにもこうにも。
休暇に入ったので、年内に1回くらいは更新したいです。

umaibauxさんから頂いたMSXのパッチくらいは取り込みたいなあ。
Artane.さんとの同期は時間掛かりそうなので、また折を見て。

973 :Artane. ◆1o3c8RYIzjU0 :2016/12/29(木) 15:22:52.60
>>972
お疲れ様です!!
今年私がやったのは元々の構造に手を突っ込んだ物が相当部分あったので、後々忙しさが相当緩んでから取り込んでいただければ一向に構いません…どうか、お身体に最もお気をつけて。
私の方も、色々と直しを入れたいところもありますし(ローマ字かな入力支援とか…もう少しユニコード必須の部分を縮小したい)。

974 :武田 ◆bnZpPXJze51u :2016/12/29(木) 18:20:55.49
ささやかながら、新ネタ込みで更新しました。
SM-B-80TEなんて知ってる方がいらっしゃるんでしょうか(苦笑)

975 :ナイコンさん:2016/12/31(土) 01:51:12.60
TK-80互換機でしたっけ?

976 :ナイコンさん:2016/12/31(土) 08:51:58.48
>>972
おかえり!

977 :ナイコンさん:2016/12/31(土) 08:54:39.15
yaCOLLECOVISIONでコナミ系のゲーム

結局南極大冒険(上下方向)とかキャベジパッジキッズ(左右方向)とか
ジョイスティックで()の方向入力するとサウンドが高速化してしまいます

978 :武田 ◆bnZpPXJze51u :2016/12/31(土) 14:11:17.97
>>977
今日の更新で多分直ったと思います。
SC-3000のロレッタの肖像も多分サポートできたと思います。
どなたかテストしていただけますと助かります。

979 :ナイコンさん:2016/12/31(土) 15:34:49.32
スーパーカセットビジョンのスタートキーってTakedaさんのエミュだとどれ押したらいい?

980 :ナイコンさん:2016/12/31(土) 20:33:34.34
そのくらい自分で調べろよ。
キーを一つずつ押していけば分かる。

981 :ナイコンさん:2016/12/31(土) 20:46:03.57
冷たいっすね武田氏は

982 :ナイコンさん:2016/12/31(土) 20:51:37.16
左乳首を押せばいい

983 :ナイコンさん:2016/12/31(土) 20:59:07.83
そもそもスタートキーなんて存在しない。
存在しないものの場所を聞かれても困るだろうに。

984 :武田 ◆bnZpPXJze51u :2016/12/31(土) 22:11:25.01
>>981
操作方法は、binary.zip内の各機種の.txtをご参照ください。
SCVだと、基本的にテンキーでモード選択じゃなかったかな。

985 :ナイコンさん:2017/01/01(日) 11:58:07.27
まぁ、スパカセを知ってれば想像付く

986 :ナイコンさん:2017/01/01(日) 21:08:54.59
すいません。
毎回自分でコンパイルしていたので、txtファイルみてませんでした。

987 :ナイコンさん:2017/01/01(日) 22:13:45.90
何がコンパイルだ!
お前はランダーの冒険でもやってろ!

988 :ナイコンさん:2017/01/03(火) 19:26:55.32
QEMU/9821にPCemのFM音源のコード移植すれば86音源とか
対応できそう

989 :ナイコンさん:2017/01/03(火) 19:37:50.09
>>988
キタイシテイル

990 :武田 ◆bnZpPXJze51u :2017/01/03(火) 20:48:23.56
>>988
うろ覚えだけど、fmgen乗っけてOPNA対応してたような気がします。

緩募。
X1turboZで追加された画面モードでの、VRAMの使われ方が分かる資料と、
著作権的に問題のない検証用プログラムがあると助かります。
年始の内に、いい加減対応しておこうかと。

991 :ナイコンさん:2017/01/04(水) 03:39:31.47


992 :ナイコンさん:2017/01/04(水) 03:40:12.49
ニコ生でただいまろんぱされました

993 :ナイコンさん:2017/01/04(水) 03:41:12.10
Twitterコミュニティ踊ってみたい動画でニコニコ超会議

994 :ナイコンさん:2017/01/04(水) 03:41:45.32
ベッキーが生放送に出演!?!

995 :ナイコンさん:2017/01/04(水) 03:42:07.04
うんちもれた

996 :ナイコンさん:2017/01/04(水) 03:42:31.01


997 :ナイコンさん:2017/01/04(水) 03:43:00.29
うめ

998 :ナイコンさん:2017/01/04(水) 03:43:30.09
うめ!

999 :ナイコンさん:2017/01/04(水) 03:44:27.72
てずがこれ

1000 :ナイコンさん:2017/01/04(水) 03:44:42.24
>>1000なら洋懐妊

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 609日 4時間 7分 14秒

1002 :1002:Over 1000 Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php

352 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)