PCエミュレーター統合スレッド Part9at I4004
PCエミュレーター統合スレッド Part9 - 暇つぶし2ch148:武田
18/09/28 00:33:39.88 .net
FILEIOクラスに、例えば以下のような感じでput/get兼用の関数を定義してやります。
bool FILEIO::StateCheckUint32(uint32_t value)
{
if(open_mode == FILEIO_READ_BINARY) {
return (FgetUint32() == value);
} else {
FputUint32(value);
return true;
}
}
void FILEIO::StateUint32(uint8_t &value)
{
if(open_mode == FILEIO_READ_BINARY) {
value = FgetUint8();
} else {
FputUint8(value);
}
}

149:武田
18/09/28 00:38:21.81 .net
各デバイスのload_state/save_stateは、以下のような感じで一本化します。
bool ANYDEVICE::process_state(FILEIO* state_fio, bool loading)
{
if(!state_fio->StateCheckUint32(STATE_VERSION)) {
return false;
}
if(!state_fio->StateCheckInt32(this_device_id)) {
return false;
}
state_fio->StateUint32(data1);
state_fio->StateUint32(data2);
// psot process
if(loading) {
// 必要であれば何かロード後の後処理をする
}
return true;
}

150:武田
18/09/28 00:45:44.64 .net
Artane.さんには折角全デバイスの修正をしていただいたのに申し訳ございません。

151:Artane.
18/09/28 02:34:40.07 .net
お疲れ様です。
>>148
それでいいのではないかと思いますが、
ただ、エンディアンの統一だけは気を付けて頂けるとありがたいのです。
今動いてるのはリトルエンディアンのix86中心で多少ARM(ハードウェアによってエンディアンがビッグの事があるかも)ですけど、
エンディアン違う機械で同じステートデータが使えないと言うのも悲しい感じがしますので…(´・ω・`)

152:Artane.
18/09/28 02:45:19.70 .net
>>149 は取り急ぎと言うことでm(_ _)m
Townsですが、仮のメインメモリと仮のスプライトがどうにか出来て(まだコンパイルすらしてないし抜けがある気がしてるけど)、他に着手するための充電しております(´・ω・`)
OPN2もFMGEN側の仮組が出来てはいますが…どれもこれも細かいところは動かしてから。
後引っかかる�


153:フはCD-ROMと電子ボリュームですかね…



154:武田
18/09/30 01:33:59.65 .net
まだ復活は先ですが、溜まってる変更内容だけリリースしておきました。
そういえばMZ-2800のSASI I/Fがうまく動かないなーって悩んでいるうちに
本業が修羅場に突入してしまったんだったなあ。
ステートセーブ周りはできるだけ早いうちにやってしまおうかと思います。
割と単純作業ですのんで、そんなに気力がわかなくてもいけるでしょうし。

155:ナイコンさん
18/09/30 09:06:46.35 .net
武田さん、ありがとうございます。
Artaneさん、ビルドしてみたのですが、ハードディスクのある機種で以下のようなエラーが出るようです。
後確認ください。
/home/hoge/common_source_project-fm7/source/src/vm/pc9801/../scsi_hdd.h:
コンストラクタ ‘SCSI_HDD::SCSI_HDD(VM_TEMPLATE*, EMU*)’ 内:
/home/hoge/common_source_project-fm7/source/src/vm/pc9801/../scsi_hdd.h:3
4:4: エラー: ‘image_path’ was not declared in this scope
image_path[i][0] = _T('\0');
^~~~~~~~~~

156:ナイコンさん
18/09/30 09:10:56.97 .net
どうも、これが原因でしょうか?
/home/hoge/common_source_project-fm7/source/src/vm/scsi_hdd.h:26:23: エラー: ‘MAX_PATH’ was not declared in this scope
_TCHAR image_path[8][MAX_PATH];
^~~~~~~~

157:ナイコンさん
18/09/30 09:56:53.16 .net
scsi_hdd.h と scsi_hdd.cpp の中の MAX_PATH を _MAX_PATH にしたところ、上のエラーは消えましたが
/tmp/ccrvmfwC.ltrans4.ltrans.o: 関数 `VM::VM(EMU*)' 内:
<artificial>:(.text+0x88b7): `vtable for SASI_HDD' に対する定義されていない参照
です
collect2: エラー: ld はステータス 1 で終了しました
make[2]: *** [qt/common/CMakeFiles/emupc9801ra.dir/build.make:373: qt/common/emupc9801ra] エラー 1
make[1]: *** [CMakeFiles/Makefile2:405: qt/common/CMakeFiles/emupc9801ra.dir/all] エラー 2
make: *** [Makefile:130: all] エラー 2
こんな感じになります

158:ナイコンさん
18/09/30 15:23:52.84 .net
Artane さん、ありがとうございます。ビルドできました。
pc9801ra はまだ起動しませんね...

159:Artane.
18/09/30 16:12:29.86 .net
>>151
お疲れ様です!!>武田さん
マイペースでいきましょう。
で、今こちら側もリリースに向けて色々いじってます。
今日中にビルド終わるといいのですが(^_^;
ChangeLogでTownsに言及してありますが、まだビルドできたものではありません(´・ω・`)
後、FM-77L4は400ラインカードのCRTC周りがまだ実装できてないので(逃げてるうちに忘れてた)…。
気力戻ったらやります(期待しないでお待ち下さい)。

160:Artane.
18/09/30 22:30:33.29 .net
停電が怖いですがリリースしています(´・ω・`)
URLリンク(osdn.net)
まだ、Ubuntu Xenialがありませんが、今ビルドしています。
停電とかでおしゃかにならないことを祈るよりないのです(´・ω・`)

161:ナイコンさん
18/10/04 22:18:50.99 Lutroq1mE
ePC-9801VXでSASI-HDD試しました。

SASI仕様で256byte/セクタ固定だったなぁと思い出して、、、動きました。
忘れちゃってた。

162:武田
18/10/05 01:23:11.51 .net
新バージョンをリリースしました。
ステートのsave/loadの処理の一本化を図っています。
FM7の2018/9/30リリースの取り込みもしています。
思ったより時間が掛かりました(苦笑)

163:ナイコンさん
18/10/05 03:04:59.96 .net
お疲れさま~

164:Artane.
18/10/05 03:22:11.26 .net
>>159
お疲れ様です。
取り込みとセーブ周りの改善、ありがとうございますm(_ _)m
明けて用事済ませてからになりますが、取り込みます。

165:ナイコンさん
18/10/05 07:39:25.56 .net
ディスクタイプの自動切り替えか

166:武田
18/10/07 23:10:01.09 .net
VM_TEMPLATEとcommon周りの取り込みを行いました。
pair16_tとpair64_tを取り込んだ


167:絡みでpair_tをpair32_tにリネームしたり、 emu/osdクラスの処理分けのための機種ごとの#defineを一部廃止したり、 結構大規模な変更になってしまっています。 ユーザ向けだと、シフト+数値パッドキーの処理の安定性が向上しているかもです。 目先の作業はこれで一段落かと思います。 復活は11月以降…と思っているんですが、結局11月も忙しそうなんですよね(苦笑)



168:Artane.
18/10/10 00:44:46.54 .net
途中経過報告も兼ねて。
武田さんお疲れ様です!!!まずはお身体、次に本業ということで…。
今、10/5リリース分のマージをしていますが、幾つかのエミュレータが動く所に到達するまで、最低でも今週いっぱいは掛かりそう。
先週の台風一過の時に腸が痛い痛い(´;ω;`)となって、今になってやっと回復して、月曜辺りから本格作業に入ったという感じです(´・ω・`)
# しかも、台風のおかげで身体の筋肉にあった地雷踏まれたので、眼と頭が常時痛くて。と言うおまけまで。
まだ、10/8リリース分はダウンロードしただけで一切みれてないのですが、10/5時点のだと、ステートでエンディアン統一に配慮されたのは非常に良かったのですが…。
引っかかってる↓の方は、テンプレート作ってリファレンス書き直します。
StateBuffer()で扱うメモリが、uint8_t[]なのかuint16_t[]なのかuint64_t[]…という辺りでエンディアンの統一を図らないといけないのもあるのではないかと。
後、構造体をStateBuffer()である買う場合も同様の部分が…ちょっと考えて、構造体表示からState*シーケンスを行える、スクリプトみたいなのも考えておきますです。
それと、float, double , long double型のバイナリ表記って、アーキテクチャ外側での、アーキ間のバイナリ互換性があるんですかね。
例えば、ix86系の浮動小数点バイナリと、IBMのPOWER系マシンのバイナリの間で、互換性が保証されてるかとか。
そこが結構心配。
私が提示したのは、バイナリ表記を数値文字列表記に変換するというものでしたが、もう少しいい方法はあると思う。
## 以下、完全無関係なことですが、お許しください。
# AMD FXであるビルドマシン、マザーボード6年使ってきてるから替えたいです(´・ω・`)
# AMD Ryzen 6C12T 16GBと言うところで年末用意できる最大レベルっぽい…(´・ω・`)

169:武田
18/10/10 01:11:13.66 .net
あー、まとめてStateBufferだと確かにそうですね。
単純に考えれば、配列はループ回して、構造体はメンバごとに、
型毎のState関数で読み書きすれば簡単ですが…
MAME由来のCPUのステート丸ごとセーブ、をばらすのは面倒そうです。
MZ-2800のSASI-HDDが動くようになりましたので、今晩中にリリースします。

170:ナイコンさん
18/10/10 21:21:14.76 .net
てすと
URLリンク(i.imgur.com)

171:ナイコンさん
18/10/10 23:18:55.49 JY1puzneg
ePC98の三国志の音楽なおしてほしいよー。

172:ナイコンさん
18/10/10 23:44:43.68 JY1puzneg
eMZ2500のHDDは作り直さないと認識しない?

173:ナイコンさん
18/10/10 23:53:28.90 JY1puzneg
ん?
SASIデグッてないですか?
10月10日ので

174:ナイコンさん
18/10/11 03:56:04.80 .net
FM-Rのメモリ周りの作動がおかしいのも直るかね?

175:ナイコンさん
18/10/11 07:56:22.09 .net
>>164
浮動小数に関しては IEEE754 準拠と思ってほぼ間違いないのでは

176:ナイコンさん
18/10/11 08:20:11.66 .net
x87がそもそも754準拠してないんだが

177:ナイコンさん
18/10/11 08:4


178:0:50.40 .net



179:Artane.
18/10/11 13:28:37.56 .net
>>171-173
IEEE754準拠(みなし)ということで、エンディアンだけ気にしておけばいいですかねー(´・ω・`)

180:ナイコンさん
18/10/11 15:59:18.14 .net
>>174
いいんじゃないでしょうか
というか、754で書き込むという仕様にして、そうじゃないCPU があれば754形式に変換してから書き込めばよいのではないでしょうか

181:武田
18/10/12 01:43:49.64 .net
>>170
もう少し具体的な情報がありましたら助かります。

182:ナイコンさん
18/10/12 02:20:06.66 .net
>>176
FM-R・286機のBIOS(厳密には松下Panacomのやつ)で
高速なCPUではポートチェックとかで引っかかって停まってしまうのでBIOSに
それを回避するパッチ(AAM命令による遅延を使う場所をバイパス)を当てて、
fmr50_i386とfmr50_i486の2018/2/25版では作動しましたが、
2018/5/24版ではメモリサイズ1280KBの所で停まってしまいます。
これはエンバグなのかより実機に近い作動にした結果286機のBIOSだと
作動しなくなったのかわ分かりません。

183:ナイコンさん
18/10/13 07:55:35.34 .net
武田さ~ん

184:ナイコンさん
18/10/13 17:09:25.44 .net
Artaneさん、FILEIO に FFlush がないといわれてしばらく前からビルドできません
また、Fflush() を適当につくっても、
/home/hoge/common_source_project-fm7/source/src/vm/mc6800.cpp: 大域スコー
プ:
/home/hoge/common_source_project-fm7/source/src/vm/mc6800.cpp:3052:6: エ
ラー: ‘MC6801’ has not been declared
bool MC6801::process_state(FILEIO* state_fio, bool loading)
/home/hoge/common_source_project-fm7/source/src/vm/mc6800.cpp: 関数 ‘boo process_state(FILEIO*, bool)’ 内:
/home/hoge/common_source_project-fm7/source/src/vm/mc6800.cpp:3057:33: エ
ラー: ‘this_device_id’ was not declared in this scope
if(!state_fio->StateCheckInt32(this_device_id)) {
など、色々でてビルドできません

185:Artane.
18/10/13 18:30:09.01 .net
>>179
すいません、今ステートセーブ周りのマージをやってて、そこらへんでビルド不可の状態がもう少し続きます(´・ω・`)
一段落したら、告知しますので…分量が多いので時間かかる。
# 予めブランチすりゃよかったと今更気づきました、本当に申し訳ございません。
ご指摘の部分とFflushについては、後でいじりますね(´・ω・`)

186:ナイコンさん
18/10/13 19:06:24.74 .net
>>180
了解です。気長に待ちます

187:武田
18/10/13 21:50:40.76 .net
>>177
FMRについては、擬似BIOSでハードディスク周りを弄ったくらいです。
i386で、一部MOV命令でリミットチェックをして例外を発生するようにしたので、
その辺が影響しているかもしれません。
>>178
なんでせう?

188:武田
18/10/13 23:10:54.92 .net
>>180
すみません、ステート周りはStateBuffer辺りを更に弄るかと思います。

189:武田
18/10/13 23:59:10.67 .net
個々の値や配列はもう全部これでいいんじゃないかなーとか。
構造体はメンバ毎に分けてやればいいや。
void StateValue(bool &val);
void StateValue(uint8_t &val);
void StateValue(uint16_t &val);
void StateValue(uint32_t &val);
void StateValue(uint64_t &val);
void StateValue(int8_t &val);
void StateValue(int16_t &val);
void StateValue(int32_t &val);
void StateValue(int64_t &val);
void StateValue(float &val);
void StateValue(double &val);
void StateValue(_TCHAR &val);
void StateArray(bool *buffer, size_t size, size_t count);
void StateArray(uint8_t *buffer, size_t size, size_t count);
void StateArray(uint16_t *buffer, size_t size, size_t count);
void StateArray(uint32_t *buffer, size_t size, size_t count);
void StateArray(uint64_t *buffer, size_t size, size_t count);
void StateArray(int8_t *buffer, size_t size, size_t count);
void StateArray(int16_t *buffer, size_t size, size_t count);
void StateArray(int32_t *buffer, size_t size, size_t count);
void StateArray(int64_t *buffer, size_t size, size_t count);
void StateArray(float *buffer, size_t size, size_t count);
void StateArray(double *buffer, size_t size, size_t count);
void StateArray(_TCHAR *buffer, size_t size, size_t count);

190:Artane.
18/10/14 03:50:18.42 .net
>>183
わかりました。
こちらはまだ10月5日版のマージ中…リリース単位でマージする格好にしないと危ない段階なので…(´・ω・`)

191:Artane.
18/10/14 03:57:16.09 .net
>>184
ありがとうございます。
と言うより、申し訳ございません。
StateArray()の二つ目の引数は、要素数(≠バイト数)と言う事でよろしいでしょうか?
# マージ作業の後半あたりから、バッファ関係を厳密に実装してみてます。
後、構造体については、特殊関数を各デバイスで用意すれば済むかと。genericな構造体って限られますし。
最近Githubにコミットしてる、MB8877::process_state辺りを参考にしていただけると。fdc構造体のステート周りを、別関数にしています。

192:ナイコンさん
18/10/14 08:44:22.55 .net
>>182
なるほど。なんとかなるかな...

193:Artane.
18/10/14 19:35:03.24 .net
とりあえず、一部の(※)VMでビルド・動作するようにしました。
まだ、10/05版ですが。
※) FM-7系、PC-8801系、PC-9801系、PC ENGINE、X1系

194:ナイコンさん
18/10/14 22:06:38.62 .net
>>188
とりあえず、config_build.sh pc8801ma してみましたが
[100%] Linking CXX executable emupc8801ma
/tmp/ccRUixj3.ltrans0.ltrans.o: 関数 `EVENT::process_state(FILEIO*, bool)' 内:
<artificial>:(.text+0x1874): `FILEIO::StateCheckUint32(unsigned int)' に対する定義されていない参照です
<artificial>:(.text+0x18ab): `FILEIO::StateCheckInt32(int)' に対する定義されていない参照です
<artificial>:(.text+0x18be): `FILEIO::StateCheckInt32(int)' に対する定義されていない参照です
<artificial>:(.text+0x18eb): `FILEIO::StateUint32(unsigned int&)' に対する定義されていない参照です
<artificial>:(.text+0x18f7): `FILEIO::StateUint32(unsigned int&)' に対する定義されていない参照です
<artificial>:(.text+0x1907): `FILEIO::StateUint32(unsigned int&)' に対する定義されていない参照です
こんな感じのがずらずら続いて
make[2]: *** [qt/common/CMakeFiles/emupc8801ma.dir/build.make:373: qt/common/emupc8801ma] エラー 1
make[1]: *** [CMakeFiles/Makefile2:405: qt/common/CMakeFiles/emupc8801ma.dir/all] エラー 2
make: *** [Makefile:130: all] エラー 2
こうなります。gcc-8.1.1 on Fedora28 です

195:武田
18/10/14 23:26:08.11 .net
リリースしました。
ステートセーブ周りの修正はこれで一段落です。
#本業のため、月末辺りまでドイツに行ってきます。

196:Artane.
18/10/15 00:22:07.83 .net
>>190
お疲れ様です。
どうか道中お気をつけて。
>>189
sudo ldconfigしたらどうでしょうか?(FAQに近いかも)

197:ナイコンさん
18/10/15 07:40:23.16 .net
>>191
あぁ、すみません。依然ライブラリは /usr/lib64 にインストールされるようになったと思うのですが、
また /usr/local/lib にインストールされるようになったようです。
/usr/lib64 にインストールされるようにしていただけるとありがたいのですが...

198:Artane.
18/10/15 12:53:12.97 .net
>>192
んー…/usr/lib64 だと、行儀の悪いパッケージがライブラリ置いたりしますので…。
後でスクリプトいじって、インストール先をbuildvars.datで指定可能にしておきますね。

199:ナイコンさん
18/10/15 19:23:06.15 .net
>>193
すみません。手違いで buildvars.dat を消してしまっていただけでした。
無事ビルドできました。お騒がせしました。

200:ナイコンさん
18/10/17 05:03:09.87 .net
EUのリンク規制の関係でEUから5chに書き込みできないんだっけ?

201:Artane.
18/10/17 05:37:43.60 .net
いい加減、色々やっていこう…(´・ω・`)
>>195
確かそうです。というかSNS全般にややこしい規制をかけてるので、EU圏からのアクセス自体遮断するハメになってるんだとか。
EU、なんかおかしな方向に行ってますよね(´・ω・`)

202:ナイコンさん
18/10/17 10:14:09.13 .net
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
―――――☆

203:Artane.
18/10/23 01:49:31.27 .net
まだ、10/5版の適応作業をやってます(´・ω・`)
遅延していてすいません。後数作業日で全VMがビルド可能になる所まで来ました。
後、ついでにnamespace 修飾子を積極的に使うようにして、src/vm/{VM名}の下で定義されるデバイスについて、固有のnamespace FOO 的な名前空間に移動させてます。
これをやることで例えばMEMORY:: がvm/ とvm/foo/ の両方にあっても問題がなくなりますし、条件次第では同じ�


204:宴Cブラリに押し込める事が可能になります。 github側のfm7とかpc8801とかpc9801とかx1辺りのコードを参考にお願いします。 # 後10個のVMくらいがビルドに着手できてない。 後、StateBuffer() の扱いを細分化してます。 全てのVMが10/05対応が出来てビルドが確認できたら、一回リリース出してしまうか、それとも10/7以降の版の対応に移動するか…終わってから考えますm(_ _)m



205:Artane.
18/10/23 23:29:15.48 .net
とりあえず、git の70e50d594d22b8881ccc9d09a68055743372def3辺りで全VMビルドできるように再びなりました。
今後、10/7版以降の適用を(明日以降?)やっていきます。

206:ナイコンさん
18/10/24 20:09:41.40 .net
>>199
お疲れさまです。とりあえず私の試したところだと、pc98do で
/home/hoge/common_source_project-fm7/source/src/vm/pc9801/pc9801.cpp: コンストラクタ ‘VM::VM(EMU*)’ 内:
/home/hoge/common_source_project-fm7/source/src/vm/pc9801/pc9801.cpp:799:27: エラー: invalid use of incomplete type ‘class PC88’
pc88 = new PC88(this, emu);
という感じのエラーがたくさん出ます。
また、scv で以下のようなエラーが出ます。
/home/hoge/common_source_project-fm7/source/src/vm/scv/scv.cpp:215:11: エラー: ‘class DEVICE’ has no member named ‘decl_state’; did you mean ‘save_state’?
device->decl_state();
^~~~~~~~~~
save_state
/home/hoge/common_source_project-fm7/source/src/vm/scv/scv.cpp: 大域スコープ:
/home/hoge/common_source_project-fm7/source/src/vm/scv/scv.cpp:252:6: エラー: no declaration matches ‘bool VM::process_state(FILEIO*, bool)’
bool VM::process_state(FILEIO* state_fio, bool loading)
^~

207:196
18/10/24 20:36:41.58 .net
すみません、git でうまく更新できていませんでした。無事ビルドできました m(_ _)m

208:ナイコンさん
18/10/27 17:00:44.97 HALc4HZhN
ePC-9801RAって、プロテクトモードだめなの?
DOSは起動するのに
EMM386常駐させる瞬間に固まる。
BIOSファイルがおかしいのかな。

209:Artane.
18/10/28 12:55:00.39 .net
リリースしました。
URLリンク(osdn.net)
とりいそぎ(´・ω・`)

210:ナイコンさん
18/11/11 11:50:18.27 .net
URLリンク(r2.upup.be)


211:ナイコンさん
18/11/11 16:11:45.76 .net
200

212:Artane.
18/11/24 06:22:44.78 .net
武田さん、お疲れ様です。
丁度SCSI CD-ROMの改善やっている最中で、gitに入れてるのは.cueファイルを正確に解釈するようにした辺りです
…最新のgitでは昨日の武田さん版もマージ済みですが、PC-Engine(CD-ROM^2付き)のPCMが微妙だったり
プログラムハングする場合があるのをどうにか直してからリリースしますね(´・ω・`)

213:Artane.
18/11/24 06:25:25.88 .net
後、Towns一進一退ですね(;´Д`)
いい加減メモリ周りとスプライト以外の所をやりたい物ですが(´・ω・`)
どちらにせよCD-ROMが使えないとその次の段階をやれないのがTownsなんで…
気長に、気長におまちくださいませm(_ _)m

214:ナイコンさん
18/11/24 10:01:18.69 .net
wavをAIFF(8ビット/16ビット)に変換する方法ありませんか?

215:ナイコンさん
18/11/24 12:03:33.07 .net
ありますん

216:ナイコンさん
18/11/24 13:53:27.64 .net
yayaMSXで大半のdskイメージを読んでくれないです
あと音声が微妙に遅れる(サウンドバッファは問題なし)

217:ナイコンさん
18/11/24 13:56:43.10 .net
そうですか
次の方どうぞ

218:ナイコンさん
18/11/24 16:54:21.38 .net
yayaMSX といえば、yayaMSX2p で戦国群雄伝とか武将風雲録とかやろうとすると
NOW DEVICE CHECKING ...
のままかたまっちゃうんだよなぁ

219:ナイコンさん
18/11/24 17:13:43.75 .net
何が悲しくてyayaMSXとかいうマイナーエミュを使ってるんだろ

220:ナイコンさん
18/11/24 18:26:38.02 .net
そんなことも分からんのか…

221:Artane.
18/11/24 21:21:06.39 .net
>>208
soxとかffmpegとか使われては…
URLリンク(sox.sourceforge.net)
URLリンク(www.ffmpeg.org)
使い方はどちらもググれば


222:日本語のがあると思います。soxのほうがわかりやすいとは思います。



223:umaiboux
18/11/24 22:55:26.09 .net
HB-F1XDJのROMをmakerom.basで吸い出す
武将風雲録のBディスクをD88形式にする セクタ14(だったと思う)はデータCRCエラーにする セクタ14以外の内容は元のディスクと同じにする
武将風雲録のAディスクは普通のDSK形式のまま
で、武田さんが2018/11/23にリリースしたmsx2p.exeを使ってゲーム開始できるようです。
URLリンク(dotup.org)
他の機種のROMや、BディスクもDSK形式のままで動くように書き換えたディスクイメージは未確認。
パナ系のDISK.ROMも使えるようにする、とか要改善点は色々あるんだけど自分は当分着手しないと思うんで、誰かやってくれないかな。

224:Artane.
18/11/24 23:39:18.60 .net
リリースしました。
ただし、WindowsビルドとDebian/Sidビルドは後ほど。
URLリンク(osdn.net)
・武田さんの11/23版ベースです
・SCSI CD-ROMをかなり弄って、CUEファイルを正確に読む(マルチトラックで)しました。ただし、未だ問題はあるかも。
・CD-ROM^2のADPCM周りを調整しました。
・PCエンジンCD-ROM^2のソフトの多くがまともに動くようになったはずです(同級生の冒頭の音が壊れてるとかCD-DAと絵の動機とか問題は少なからずありますが)
・画面描画周りを一部の機種だけ共通ルーチン使用に移してみました(X1系とFM7系とZ80 TVGAMEのみ)
他にもある程度変えてます。

225:ナイコンさん
18/11/25 01:52:24.51 .net
URLリンク(altohumano.com)

226:武田
18/11/25 17:26:38.39 .net
>>217
ありがとうございます。
PCエンジン周りの取り込みテストをしてみました。
#include <algorithm>
#include <cctype>
を追加しないとVC++でビルドできませんでした。
The Manholeで、短いCD-DAの再生がおかしくなる場面がありました。
ちょっと保留とさせてください。

227:207
18/11/25 20:56:44.77 .net
>>216
どうもです。ただ、持ってるのがrom版なんですよね...

228:Artane.
18/11/25 21:06:52.95 .net
>>219
わかりました。
こちらでも現象考えますね。

229:ナイコンさん
18/11/25 22:24:50.33 .net
>>210
そんな出来損ないのクソエミュ投げ捨てろ.

230:umaiboux
18/11/25 22:47:54.99 .net
>>220
あー、ROM版ってことはSRAM内蔵してるんでしょうね。
SRAMには未対応、というか現状は
URLリンク(umaiboux.k-free.net)
に書いてある
「対応しているメガROMのマッパータイプは4種類だけです。」
のままのはずです。
SRAMの読み書きが正常に行えるかどうかチェックするような処理があったら、その時点で動作不可です。
メガROMまわり(だけじゃないけど)、かなり美しくないソースになってるんで追加対応するなら大幅に書き直したほうがいいかもしれない

231:207
18/11/25 23:46:38.70 .net
>>223
了解です。まぁ、openmsxを使えばよいだけなのですが、cspで色々揃うといいかなと。
気長になにかおきるかなぁと期待しています ^^;

232:Artane.
18/11/26 18:25:44.14 .net



233:昨日から、PC-9801にSASI疑似BIOS付けてました。 https://i.imgur.com/VJLx1GM.jpg https://i.imgur.com/Qh5y8G2.jpg 画像のものをやるためだけにとりあえず作りました(´・ω・`) DOSのインストールの仕方によっては動かないかも。最新のgitで…。



234:ナイコンさん
18/11/26 18:56:26.53 .net
8801にスキャンライン毎にパレットが変更できる機能なんてあったのか。
昔の人はずいぶんと無茶な技術を駆使したもんだな。

235:ナイコンさん
18/11/26 18:57:12.33 .net
>>225
16色ディザの無理矢理表示懐かしい。
これでJPEG画像なるものを知った。
同じ画像データをMac(当時のもの)で見るとあまりの綺麗さにぶっ飛んだ。

236:ナイコンさん
18/11/26 19:21:57.95 .net
不謹慎だ削除しろ

237:ナイコンさん
18/11/26 20:43:39.25 .net
j80のホームページどこ行ってしもうたん?

238:ナイコンさん
18/11/27 11:53:21.11 .net
apaslothy氏と何かあった?

239:ナイコンさん
18/11/28 19:05:10.68 .net
Artaneさん、ハードディスクをマウントしようとしたとき、ファイルタイプを *.* にしないと
*.hdi なファイルなどが見えません。武田さんの方では見えます。

240:Artane.
18/11/28 20:28:49.66 .net
>>231
問題には気づいてた(日曜日あたりに)ので、後で直しますねm(_ _)m
申し訳ございませんm(_ _)m

241:226
18/11/30 22:29:35.61 .net
>>232
早速御対応ありがとうございました

242:ナイコンさん
18/12/02 18:34:34.20 .net
>>228
おケツがどうした?ぢ?

243:Artane.
18/12/03 01:44:06.23 .net
>>226
私もFM-7系で似たのをやろうか迷ってましたが、やればドラゴンスレイヤーとか幾つかのソフトでパレットの高速変化してる奴の再現度上がるけど、
ホストマシンへの負荷が上がるから…と迷って止めました(´・ω・`)
又時期見てやってもいいかもしれませんね(´・ω・`)
疑似4096色とか使ったことないけど(ジョークソフトで)やってるのありますし。

244:ナイコンさん
18/12/03 17:30:47.74 .net
8801とかFM-7で表示中にパレット変更できるのは
単にその方が手間がかからないからだと思います。

245:Artane.
18/12/07 03:44:06.38 .net
途中経過。
CD-DA、ほぼ問題なくなったと思います(但し、Ootakeのソースコードにある注釈の多くの意味をまだ咀嚼出来てないので、とりあえず的な部分が残ってる気がする)。
ただ、CD DATAのトラックからADPCM(など?)にだだ流しする辺りのハンドリングがまだおかしい感じで、長い音声を止めないで流すような所だと音が切れます(;_;)
# シーク完了するしないをSCSI_DEVで見てからセクタ読み書きするようにしたいようなしたくないような(´・ω・`)

246:ナイコンさん
18/12/07 19:01:51.80 .net
Civ1(PC-98)を問題無く動かす設定分かる方いらっしゃいませんか?
hdi化しても褒美の建設描画やセーブ等で何度やっても詰まります
npでも姉でも構いません
どなたか宜しくお願いしますm(_ _:)m

247:ナイコンさん
18/12/10 02:58:16.09 .net
ePCEだいぶ動くようになりましたね
テレネット系がLASER SOFT表記の後止まるけど
バックアップメモリやアーケードカードなど対応すれば良い感じですな

248:Artane.
18/12/14 03:57:59.12 .net
>>239
ありがとうございます。
レーザーソフト系がなかなか動かないですが、他のはそこそこ動くようになったと思います。
少しづつですが、Ootakeでの実装の考え方が咀嚼出来てきました。
ありがとうございます>Ootake開発の皆さん
アーケードカードなどは、どこかに仕様とかありますかね?実装してみてもいいかも(�


249:スだし、別のビルド扱いで)



250:ナイコンさん
18/12/15 03:38:46.84 .net
アーケードカードって3.0+メモリだけじゃなかったっけ???

251:Artane.
18/12/20 04:17:34.42 .net
一昨日、リリースしましたが告知を忘れてました(>_<)
申し訳ございません。
URLリンク(osdn.net)
とりあえず、武田さん版と違う目玉は:
・PC9801系でSASI HDD BIOSの疑似BIOSを利用できるようにした。とりあえず通常の使い方では無難に動くようです。
・CD-ROMのタイミングの整備とCUEファイルのパーシング(武田さん12/9版にも一部組み込まれてると思う)
・PC-ENGINE CD-ROM^2の多くのソフトが(CD-ROMとADPCMの改善で)動くようになった。
 ただし、レーザーソフト系のソフトと一部のソフトはまだ動かないし、アーケードカードの実装も未だ。
・他にもごちゃごちゃやってます(^_^;
PC-ENGINEを片付け、気力とノリが出てきたら、再びTownsを進めていこうと思います。
# コンピュートシェーダを画面(CRT)周りで導入する辺りの事もやりたいけど、まずはクロマキー描画になりそうです。
## Townsやるに当って、画面の重ね合わせやスキャンライン単位での拡大縮小をCPU側でやるモードとGPU側でやる
## モードと作ったほうがホストCPUの処理能力の面とi386/486/586が動いてる速度(16〜120MHz)を
## 考えると良くないか?という根本的な疑問があるので、そちらも仕込みます。
## コンピュートシェーダがなくてもできるものはできるように。
部屋が法外に寒くてキーボード叩いてると手がしばれるので、ペースが上がらないかもですが…(;´Д`)

252:ナイコンさん
18/12/20 11:04:08.91 .net
つ指なし手袋(ハンドウォーマー)

253:ナイコンさん
18/12/20 21:35:16.04 .net
どっちかっていうと暖房つけた方がいいんじゃなかろうか

254:ナイコンさん
18/12/25 22:18:39.29 .net
XM8
音出ねぇ

255:ナイコンさん
18/12/25 23:22:54.42 .net
XM8ってCSPと何か違うの?XM8の改良でCSPにバックポートされてないもの何かあるの?

256:ナイコンさん
18/12/26 08:15:37.91 .net
SDL環境

257:ナイコンさん
18/12/26 20:57:04.45 .net
>>247
あぁ、それでSDLだと音が鳴らないってことがあるのか

258:Artane.
18/12/27 05:55:24.67 .net
SDL_AUDIODRIVER 環境変数を設定すると幸せになれるかも…
URLリンク(sdl2referencejp.osdn.jp)

259:ナイコンさん
19/01/06 12:49:51.17 dbTC3b0We
ePC-8801MAですが、最近のだとMistyBlueのオープニングデモでマスク部分(裏画像)が見えるようになってしまいました。
2018/10/14版は大丈夫(マスクあり)でした。

260:ナイコンさん
19/01/09 07:31:26.90 .net
FM-TONWSのエミュで処理速度がネックになるなら
QEMU/9821みたいにQEMU/FMを作ってみると言ってみる

261:ナイコンさん
19/01/09 19:35:44.68 .net
>>251
がんばえー
でも qemu の開発に追随するの結構大変そう

262:Artane.
19/01/10 04:26:39.07 .net
遅くなりましたが、今年もよろしくお願いいたしますm(_ _)m
>>251
いくつかボトルネックになりそうなのがあって、
・VRAMのレンダリング
・レイヤーの重ね合わせ
・スプライト
・i386のエミュレーション部分
かなぁ…と思って、ここ数日でやっとコード書きに復帰しております。
ただまぁ、マザーをRyzenベースのマシンにしてしまったので、前ほどはボトルネックがわかりやすくはなくなってますが。
まぁ、マイペースで色々やってみようと思います。

263:ナイコンさん
19/01/10 08:22:29.43 .net
ことよろぉ

264:ナイコンさん
19/01/10 16:49:30.84 .net
CASIOのFP-3000、FP-6000、FP-7000という8086積んだ16bit機もあるの�


265:ゥ。 これはIBM-PCとは異なるアーキテクチャのようです



266:ナイコンさん
19/01/10 17:03:12.54 .net
Casio FP-6000のエミュはMESS/MAMEに実装されていた

267:ナイコンさん
19/01/10 17:04:59.86 .net
>>252
もし本当にやるとしても、QEMU/9821みたいに本家に追従するのはあきらめて
古いバージョン使うとこになるでしょう

268:ナイコンさん
19/01/14 01:40:07.77 rJjBg5u3I
takedaさんのPC-8801とPC-8801mkII使いたいけどdisk-biosで無限ループ?
そういえば、MAの辞書romが読まれなくなった?

269:ナイコンさん
19/01/14 01:55:48.17 rJjBg5u3I
辞書romは読めてた。勘違い申し訳ありません。

270:Artane.
19/01/13 20:00:15.19 .net
|ョェ・´)リリースしてみました。
URLリンク(osdn.net)
Windows向けのビルドには、これとかお使いください
URLリンク(osdn.net)

271:ナイコンさん
19/01/15 11:07:43.02 .net
Windows向け
Not Found

272:ナイコンさん
19/01/15 12:52:16.90 .net
バカには見えないエミュ

273:ナイコンさん
19/01/15 13:55:36.02 .net
ヴァカはお客様じゃないって云う意思表示
嫌いじゃない

274:Artane.
19/01/15 22:30:14.69 .net
>>261
ごめんなさいm(_ _)m
リンク微妙に間違えてました。
こちらではどうでしょうか?
URLリンク(osdn.net)

275:ナイコンさん
19/01/15 23:16:26.87 .net
Winバイナリ サンクスです

276:ナイコンさん
19/01/18 09:35:07.91 .net
エミュでpauseキーにbreakキーが割り当てられてたりするけど、最近のキーボードってpauseキー削られてるのが増えてきてるんだよなぁ

277:ナイコンさん
19/01/18 12:09:11.89 .net
それ云ったらファンクションとかないのもの増えてるし細々とした特殊キーはどんどん削られてるから必ず存在するキーってけっこう少ない

278:ナイコンさん
19/01/18 12:12:11.88 .net
ゲームエミュにゲーム機に合ったゲームパッド使うように
PCエミュにそれに合ったキーボード使えばいいんだよ

279:ナイコンさん
19/01/18 13:01:12.14 .net
*** HIT RETURN KEY ***

280:ナイコンさん
19/01/18 13:10:21.37 .net
ファンクションキーは[Fn]+数字キーとかで使えたりするからまだマシだな

281:ナイコンさん
19/01/25 16:08:14.63 .net
今、eFM16βのソースを追い掛けているのだが
8086(80186)と6809で"memory.cpp"を共用して
使っているみたいなのだが、マズイのでは。
ホントに拙いか、もうちょっと追っかけるけど...

282:ナイコンさん
19/01/25 18:57:54.07 .net
>>271
共有メモリあるし、ダイレクトパスでサブシステム空間を全部読み書きできるので、
別におかしくないと思う今日この頃。

283:ナイコンさん
19/01/25 19:09:52.41 .net
いや、wordのアクセスについて言ってるんだけど。
ただ6809側では、word アクセス(LDD $FF8C)みたい
なのは、そう頻繁でないようですが。

284:ナイコンさん
19/01/25 21:29:43.31 M1qFQRDbN
eX1はHDDを認識しなくなってしまいましたね。
いつごろからだろう。
装置として認識しているようだけど、アクセスが、例えばフォーマットが失敗する。

285:ナイコンさん
19/01/25 20:45:24.03 .net
>>273
8bit バスにワードアクセスしたらいかんやろ。

286:ナイコンさん
19/01/26 00:02:22.07 .net
いや「バス」は、単なる通り路だから。
バスの先にあるメモリを16ビットの
データとしてアクセスするんですが。

287:Artane.
19/01/26 04:37:53.94 .net
>>273
後で、mc6809.cppとかでread_data16()などしてないかどうかチェックしますね(´・ω・`)

288:ナイコンさん
19/01/26 09:31:04.27 .net
「mc6809_base.cpp」では、16ビットのアクセスのときに
HighバイトとLowバイトをひっくり返しているみたいですね。
「mc6809.cpp」では、16ビットのアクセスみたいな記述は
無いみたいですね。

289:ナイコンさん
19/01/26 09:43:50.23 .net
そう言えば、「Lkit-16」で使用されているCPUは


290:確か MN1610(PFU製造?)で、16ビットワードマシンなので 奇数位置のバイトデータを扱うのには苦労したな。 ※1ワードは16ビットなので、8ビットのANSI文字が  2文字分格納できる。



291:ナイコンさん
19/01/26 22:27:16.60 .net
EmuZ-80BでSB-5510使うとき、[SHIFT]+[左ALT]でグラフ文字入力モードオン [左ALT]でオフ、[SHIFT]+[右ALT]でカナ入力モードオン [右ALT]でオフになるんだけど、windowsのキー入力で複数の言語設定が入れてあると[SHIFT]+[ALT]で例えば日本語キーボードと英語キーボード

292:ナイコンさん
19/01/26 22:29:52.39 .net
ミスった
コロコロ入れ替わって気付くまで「???」だった。
設定から日本語以外の設定消すと変わらなくなるんだけど

293:Artane.
19/01/27 08:33:16.87 .net
多分、MC6809::側は大丈夫っぽいです。
>>278
16ビット演算する時にはホスト側の16ビット演算命令使うようにしてますので…(´・ω・`)
例えば、
LDX なんとか:ビッグエンディアンでメモリから1バイトづつ取ってきて、内部でホストのエンディアンに直す
LEAX なんとか:内部エンディアンで加減など。
デバッガ: 16ビットのレジスタは、ホストのエンディアンで渡してる。
STXなんとか:内部エンディアンをビッグエンディアンに直して、1バイトづつメモリに書き込む
と言う感じにしてあります。

294:ナイコンさん
19/01/27 10:31:02.41 .net
>>282
丁寧に調べていただきありがとうございます。
ホストのエンディアンで処理をして、必用ならその都度
変換するんですね。
※初期のPowerPCでは、ビッグエンディアンとリトル
 エンディンをCPUレベル(?)で切り替えることが
 出来ると聞いたことがありますけど、どうなんですかね。

295:ナイコンさん
19/01/27 11:12:35.09 .net
エンディアン ウソつかない

296:ナイコンさん
19/01/27 11:18:32.18 .net
エディオン 名古屋本店

297:Artane.
19/01/28 02:42:36.47 .net
>>283
基本的に、ホストとエミュレーションする側のエンディアンがずれてる場合、計算する時には内部のレジスタなどはエンディアンをホストと揃えた方が速いですので…(´・ω・`)

298:ナイコンさん
19/01/28 11:49:29.15 .net
エンディアン ウソつかない

299:ナイコンさん
19/01/28 12:20:14.44 .net
クレタ人は皆嘘吐きだと、クレタ人は云つた

300:ナイコンさん
19/01/28 15:25:44.58 .net
>>288
そうか、それは途方にクレタ話だな

301:ナイコンさん
19/01/28 17:39:48.72 .net
エイドリアーン

302:ナイコンさん
19/01/28 18:16:55.40 .net
エディオン 名古屋本店

303:ナイコンさん
19/02/02 01:20:54.34 .net
うーん、keyboard.cppのキーマトリクスの処弄ってpauseキー使わない様に改造してみるついでにカナキーとかも配置変えてみようと思ったんだけど、どうやってcompileするんだろう? Visual Studioとかで出来るのかな?

304:ナイコンさん
19/02/02 02:03:31.96 .net
エンディアン ウソつかない

305:ナイコンさん
19/02/02 02:16:13.03 .net
keycode.cfgファイル作ってキー入れ替え出来なかったっけ?
マニュアルにもっと色々書いてくれると良いのだが

306:Artane.
19/02/02 02:18:41.88 .net
>>292
本家ならVS使えます。
私がいじってる方は、ある程度まで対応してますが、仮想化マシン立ち上げてVS起動するのが面倒臭いので、一部だけを書いただけ状態…。
MinGWと言う開発環境なら、ある程度まではいけるはずですが、最近クロスビルドしかしてないのでうまく行かないかも(すいません…)

307:Artane.
19/02/02 02:19:36.85 .net
>>294
ああ…こんど書きます(書くの忘れてた)。
すいません…(´・ω・`)

308:ナイコンさん
19/02/02 08:35:34.88 .net
>>295
MZ-1200の[BREAK][CLR/HOME][INST/DEL][カナ/英数]を[ESC][Tab][CapsLock][BackSpace]に割り当てようとkeyboard.cppのそれっぽいとこを弄ったんだけどvisual


309:C++どころかVisual Studio自体まともに使ったこと無いからよくわかんないんだよなぁ



310:ナイコンさん
19/02/02 19:55:37.40 .net
避難所にある
URLリンク(nenecchi.php.xdomain.jp)
落して
mkkey VK_BACK VK_PAUSE VK_TAB VK_HOME VK_CAPITAL VK_DELETE VK_BACK VK_KANA
でkeycode.cfg作る

311:ナイコンさん
19/02/02 21:44:22.00 .net
>>298
THX 最初のVK_BACKはVK_ESCAPEですね
で、出来たファイルぶち込んだんだけどTAB押してもHOMEにならねぇ
keyboard.cfgをバイナリエディタで開いてみたけどソレっぽいところがソレっぽくなってるからあれでよさそうなんだけどなぁ?

312:ナイコンさん
19/02/02 22:09:30.67 .net
まぁ 元々はpauseキー対策だったからいいか。

313:ナイコンさん
19/02/14 22:40:53.30 y0ko0H0e8
takedaさんのPC-8801とPC-8801mkIIが独立したけれど、
high reso(400ライン)モードが、はしょられちゃったか付け忘れちゃったかな。

314:ナイコンさん
19/02/15 22:56:23.33 .net
cscpのSMSだけど音がおかしいね
スペハリでボタン連打するとテンポが速くなったり、SMSBIOS(スペハリのBGMが流れる奴)が数秒おきに音が乱れたりする
あとysが動かない

315:ナイコンさん
19/02/17 19:24:23.71 .net
SMSは青春スキャンダルの操作がおかしかったり
(今まで下+2のローキックが出来なかったけど、2のパンチがローキックになってしまう)
1988年からのタイトルは結構動かないよ

316:Artane.
19/02/18 05:16:50.38 .net
>>302
現象確認しましたが、今はPCEのCD-ROMロムのADPCMがまともな形で動き始め、
レーザーソフトのも動画デモの途中までは動くようになって、さらにここから詰めてく感じなので…
ここらへんがうまくできたら、武田さんの方を取り込んだりしてリリースかなぁ…という形なんで、マスターシステムはおまちください(´・ω・`)
# Townsも、ある程度までは個別要素作れてはいます。
はじめて買ったゲーム機がセガマーク3なんで思い入れは、あるけど、後々。

317:ナイコンさん
19/02/20 09:37:21.12 .net
リバイバー …FM-7/77AV40EXではOKだけど77AVではディスク異常判断
スペースハリアー ・・・X1/X1turboではOKだけどturboZではFM音源が鳴らない

318:ナイコンさん
19/02/20 09:56:10.02 .net
総合スレなんだから…

319:Artane.
19/02/21 06:57:54.89 .net
色々とやってます。
今、武田さん版2/19仕様の物をマージ中です。
githubのupstream_20190219 ブランチで(問題が粗方なくなったら、マスターに合流させます)。
自動化テストとか、使いやすい(やり方がわかりやすい)静的ソースコード解析システムとか、フリーでいいのがないかと悩み中です(´・ω・`)
>>305
リバイバー、私の作業中のe77AVでは問題ないですよ。
イニシエータROMを、AV40などから使い回してパッチ当てで凌いでるとその手の事が起こるかも。
turboZの方は、サウンドボードが認識されてない感じですね。なぜ、turboで認識されてZだとダメなのかは、後々。

320:ナイコンさん
19/02/22 01:41:21.06 .net
np21だとダメでnp2なら大丈夫ってケース、V30絡み以外である?
というのも、紛失したと思っていたystealthを発見して、これを機にvem486を弄りたくなったからなんだけど・・・

321:298
19/02/22 02:16:11.46 .net
言葉足らず過ぎた
np2からnp21に環境を移行したい、ということ
できれば386以降必須のツールやアプリケーションなどに差し替えたいのでnp2


322:/21の併存は避けたい np21は派生版の21/Wを使うつもり



323:ナイコンさん
19/02/22 08:26:45.38 .net
問題でるかどうか使ってみて報告してね

324:Artane.
19/02/22 18:16:48.98 .net
|ョェ・´)
URLリンク(osdn.net)
URLリンク(github.com)
やっとリリースできました(´・ω・`)
いろいろ変わってます。
バグは取ったけど別のバグは言ってたらお知らせくださいませm(_ _)m

325:ナイコンさん
19/02/22 18:53:43.63 .net
おつです

326:ナイコンさん
19/02/23 22:20:28.83 .net
Artaneさん
[100%] Linking CXX executable emuhogehoge
g++-6: エラー: ‘-flto=’ への引数がありません
こんな感じでリンクできません...

327:Artane.
19/02/24 00:11:03.21 .net
>>313
ごめんなさい、後で(多分寝てから)直しますm(_ _)m
当面は、buildvars.dat.tmplの記述を参考にして、LTO_THREADS(だったか?)に数字設定してみて下さいませ。

328:Artane.
19/02/24 20:13:43.89 .net
遅くなりました。今gitに変更入れました。

329:ナイコンさん
19/02/24 21:35:26.09 .net
>>315
確認しました
ありがとうございます

330:ナイコンさん
19/02/25 21:10:51.34 .net
EmuZ-2200で[00]キーって使えないのかな?

331:ナイコンさん
19/02/25 23:27:23.75 .net
00は区切りキーに割り当てられてるキーが無いなら>298のmkkeyを落として
mkkey 好きなキー VK_SEPARATOR
/を00にしたいなら
mkkey VK_DIVIDE VK_SEPARATOR

332:ナイコンさん
19/02/26 01:20:46.76 .net
>>318
ありがとうございました。

333:ナイコンさん
19/03/01 22:19:49.25 .net
>>319
いえいえ

334:ナイコンさん
19/03/02 19:32:43.48 .net
L3ディスクエクスプローラーでMZ Hu-BASIC(デ-タ反転)で新規作成したら、空き0のD88イメージが出来たんだがbugっすかね?
生ディスクモードでFATのあるセクタのFFを00に書き換えたら空きが323584になりはしたんだが……

335:ナイコンさん
19/03/03 12:38:12.60 .net
はいはいすごいね
次の方どうぞ

336:ナイコンさん
19/03/05 23:17:48.58 .net
>>308-309
NP2って80286のリアルモードのみサポートつまり80186命令互換で、
V30命令には対応していないのでは

337:ナイコンさん
19/03/06 05:51:44.20 .net
> また DIP SW3-8 OFFで V30ぽい動きをするようにしています。
HIMEM.SYSはOFFにすると80x86じゃないから駄目となるね
単に速度のHI<->LOWかと思ってたけどエミュレーション自体が違うのか

338:ナイコンさん
19/03/06 14:34:36.26 .net
ぐぐるとNP2はLOWモードにするとV30用のソフトは動くぽいな

339:ナイコンさん
19/03/08 13:21:08.34 .net
ぽいね

340:ナイコンさん
19/03/10 04:21:26.63 .net
ギャラガとか動くからね
実機でVMじゃ動くけどDXじゃ動かんしな

341:ナイコンさん
19/03/10 13:33:11.67 .net
NP2ってV30用のコード持ってなかったっけ?
みたのずいぶん昔でうる覚えだけど。
その時見たNP2には8080エミュレーション機能もなかったような・・・

342:ナイコンさん
19/03/10 13:36:37.84 .net
うる覚え

343:ナイコンさん
19/03/10 18:41:52.08 .net
このスレにいるのはオッサンだけなのに、いい歳して「うる覚え」とか恥ずかし過ぎだろ

344:ナイコンさん
19/03/10 18:45:55.58 .net
うる覚えってうる覚えしてたんだろう

345:ナイコンさん
19/03/10 20:20:02.15 .net
エュミレーター

346:ナイコンさん
19/03/10 21:26:37.91 .net
価値ある知識は持ってないのに上げ足取りができると嬉々として出てくるキッズが多いな

347:ナイコンさん
19/03/10 21:30:31.21 .net
このスレにキッズいるわけないだろ
お前がキッズか?

348:ナイコンさん
19/03/10 23:42:25.01 .net
あー XX の書き間違いだなー、 と理解できた上でイチャモンつけるのは阿呆

349:ナイコンさん
19/03/11 08:45:11.93 .net
ツイッターで#テクノロジー


350:犯罪と検索して、まじでやばいことを四代目澄田会の幹部がやってる 被害者に対して暴力団以外にタゲそらしをしてるがやってるのは暴力団で普段外に出ることが少ないため遊びで公共の電波と同じような電波を使って殺人をしてる 統失はほとんどが作られた病気で実際は電波によって音声送信や思考盗聴ができることが最近明らかになりつつある 警察や病院では病気としてマニュアル化されてしまっているのが現状で被害者は泣き寝入りしてる 被害者がリアルタイムで多い現状を知って、被害者間でしか本当の事だと認知できていない 実際にできると思われていない事だから、ただの幻聴ではない実際に頭の中で会話ができる できないことだと思われているからこそ真面目に被害を訴えてる 海外でも周知されつつあることを知ってほしい。 このままだとどんどん被害が広がる一方 #テクノロジー犯罪 #四代目澄田会



351:ナイコンさん
19/03/11 09:01:12.98 .net
正しい日本語は価値ある知識です

352:ナイコンさん
19/03/11 19:25:53.87 .net
春だねぇ…
こんな所にも統失がやってくる

353:ナイコンさん
19/03/21 21:18:53.21 .net
Artane.さん9801raの修正ありがとうございます。起動確認しました。

354:Artane.
19/03/22 02:03:03.57 .net
>>339
まだまだですが…どういたしまして。
今の所、DOS5以降でEMM386.EXE使うとハングアップしたり東方などに使われてる音楽ドライバがハングアップしたり、果ては「バトル」でライン表示おかしかったり。と、
まだまだではありますが(´・ω・`)
i386をある程度以上詰めておかないと、Townsデバッグする時に切り分けしにくいですし。
後、タイミング見て、i286からi8086とV30を分ける事を考えています。ある時期以降の大抵のPC-9801は286や386とV30系を切り替え出来たりするので。

355:ナイコンさん
19/03/24 11:22:10.36 .net
X68エミュのXM6 TypeGを使用しています
「演算パッケージが未登録です」と表示され、以降ゲームが進まなくなってしまいます
演算パッケージ(FLOAT2.X 等)を登録すればよいというのはわかりましたが
FLOAT2.XのファイルはどちらでDLできるのでしょうか?
何方かお教えください

356:ナイコンさん
19/03/24 11:46:59.71 .net
X68000ライブラリーで公開されてるよ。
見つけやすいのは高速版かな。
システムのところを探せばオリジナルもあるかも。

357:ナイコンさん
19/03/24 15:33:00.43 .net
>>342
無事DLできました
ありがとうございました

358:ナイコンさん
19/04/11 15:09:45.09 .net
お久しぶりです。
PC9801RAで、FreeDOS PC98 のEMM386.EXEが動くようになりました(・∀・)
MS-DOSのはまだですが。
URLリンク(imgur.com)
URLリンク(imgur.com)
URLリンク(imgur.com)
こんなのもとりあえず動くように。
URLリンク(imgur.com)

359:Artane.
19/04/11 15:15:32.03 .net
>>344 は私です(´・ω・`)
で、EMM386.EXE(MS)が動かない問題が未だに解明しきれてない…(´・ω・`)
VEM486はたまにバグる。
どうやら、EMM386(MS)に関しては、不適切な権限移動か不当なセグメント請求をプロテクトモード上からのタスク?切り替えの時にやってる臭いという事までは解明できたのですが。
現物で動いてこちらで動かないというのが謎です(´・ω・`)
多分どっかのI/Oかメモリマップがあってない。
後、GDCの高速化やスクリーン座標から外れたところへのプロット禁止動作を地味にやってます。
VRAMアドレスで見たほうがいいのかな?(´・ω・`)
ホストがRyzen2700 で2.6G


360:Hz動作かつAMD64ビルドなら、20MHz動作で色んな所に負荷かけてもスローダウンしない。と言うラインまで来たので、もう少し高速化をしたいものです。



361:ナイコンさん
19/04/11 18:43:28.41 .net
Artane.さん、御苦労様です。
>多分どっかのI/Oかメモリマップがあってない。
np2などの動いているものと比べて見ることはできないのでしょうか?

362:Artane.
19/04/11 18:50:47.76 .net
>>346
既に始めています。
ただ、分量が多いので、なかなか前に進まない…(´・ω・`)
しかもややこしいのは、同じ挙動に関しての解釈が、mameやCSPの作者の方々とねこープロジェクト2の作者の方々でかなーり違う。と言う辺りで。
まだまだ手間取りそうです。
# 実家に80386プログラミングマニュアルを置きっぱなしにしてる感じなので、どうにか取りに行きたい物です。

363:ナイコンさん
19/04/12 12:37:47.20 .net
>>345
EMM386.EXEの導入に失敗しているのか、ドライバは入るけどその後の仮想86モードでの動作がおかしいのかは
分からないですが、もしINT nやIRETなど命令単位で挙動がおかしいと感じるようでしたら
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2
Instruction Set Reference, A-Z
に書かれているプロテクトモード時の処理シーケンスと比較して正しく内部処理が出来ているかも
チェックした方がよいと思います
EMM386.EXE内のリアルモードからプロテクトモードへの移行処理はページングやセグメントディスクリプタの
準備も含めてそれほどおかしなことをしているようには見えないのでもしその辺でつまずくとしたら全然別の要因
という可能性もありそう?
(例えば、BIOS管理のメモリサイズと実メモリサイズが一致していないとか?適当ですけど)

364:ナイコンさん
19/04/12 13:18:49.84 .net
今更CPUのエミュ自作する人いるの?
BIOSやらI/Oの機種依存でこけてるとかじゃないのん?

365:Artane.
19/04/13 00:07:29.77 .net
>>348
ありがとうございます。後で引っ張ってきて読んでみます。
>>349
MAME版CPUの内部構造を最初疑ったんですけど、どうも色々追っかけてみてそちらのセンではなく、「外部デバイス側の理由で不当な動作に追いやられてるのではないか?」と言う疑いを持ってまして。
多分ですが、EMM386.EXE(MS)の内部からリアルモードに移行する辺りで、MS謹製のにクセがあって、それは別のプロテクトモードを積極的に使ってる会社のソフトの一部でもある癖なんだけど、
それがそうさせている感じは見えてきています。まだぼんやりとですが。
因みに、ログ取って追っかけたレベルだと、FreeDOSのEMM386.EXEは、真面目にタスク切り替え使ってプロテクトモードとリアルモードを行き来してるので…。

366:ナイコンさん
19/04/25 23:48:16.60 .net
Artaneさん
emupc9801vx をビルドしようとするとエラーがでます
/home/hoge/common_source_project-fm7/source/src/vm/pc9801/membus.cpp: メンバ関数 ‘void PC9801::MEMBUS::update_bios()’ 内:
/home/hoge/common_source_project-fm7/source/src/vm/pc9801/membus.cpp:760:5: エラー: ‘is_shadow_bank_a0000h’ was not declared in this scope
if(is_shadow_bank_a0000h) {
^~~~~~~~~~~~~~~~~~~~~
/home/hoge/common_source_project-fm7/source/src/vm/pc9801/membus.cpp:761:37: エラー: ‘shadow_bank_i386_80000h’ was not declared in this scope
set_memory_rw(0xa0000, 0xbffff, &(shadow_bank_i386_80000h[0x20000]));
^~~~~~~~~~~~~~~~~~~~~~~

367:341
19/04/26 19:49:19.23 .net
Artaneさん、直りました。ありがとうございます。

368:ナイコンさん
19/04/30 20:11:05.08 .net
久々に更新あったな・・・

369:ナイコンさん
19/05/06 17:06:


370:42.29 .net



371:ナイコンさん
19/05/06 17:07:57.18 .net
腐っても元PC?

372:ナイコンさん
19/05/06 17:44:38.55 .net
TOWNSは現役ではないが「元」ではなく歴としたPC

373:ナイコンさん
19/05/06 17:49:12.19 .net
マーティーとピピンは元PCかな?

374:ナイコンさん
19/05/06 18:17:45.49 .net
ぴゅう太は?

375:ナイコンさん
19/05/06 21:39:14.53 .net
マイコンじゃろ

376:ナイコンさん
19/05/06 22:42:46.94 .net
これもうわかんねぇな

377:ナイコンさん
19/05/07 12:51:48.06 .net
うんづはCDをイメージで認識させるにはいちいち再起動させなきゃならないね
サターンのSSFもそうだけど

378:ナイコンさん
19/05/08 01:57:55.46 .net
そういや初代TOWNSってキーボード別売だったような

379:ナイコンさん
19/05/08 18:31:58.66 .net
F-BASIC for Windows
ください

380:ナイコンさん
19/05/08 18:35:03.15 .net
>>363
そんなのあったなぁ
存在は知ってるけどどんなものだったのか知らないんだ
教えてください

381:ナイコンさん
19/05/08 20:02:36.40 .net
これかな
URLリンク(i.imgur.com)

382:武田
19/05/10 02:24:24.44 .net
F-BASIC for Windows95は私も学生時代に使ってました、懐かしいですね。
>Artane.さん
おつかれさまです。
最近のi386コアの修正ですが、取り込んでも大丈夫な状態でしょうか?
近々MS-DOS Playerの更新予定なので、そちらで先行して取り込もうかなと思っています。
#私事ですが、春から昇進して課長になりました。

383:ナイコンさん
19/05/10 08:12:06.27 .net
おめでとうございます!
お仕事無理なさらぬようお身体御自愛ください

384:Artane.
19/05/10 14:13:12.61 .net
>>366
ご昇進、おめでとうございます!!
i386コアですが、限定条件つきながら取り込み可能です。
限定条件)
・MS製のEMM386.EXEやViperV10以降やFreeBSDがプロテクトモードでの問題から動かない。
・FreeDOS(98)のEMM386.EXEやVEM486.EXEはほぼ動く(ただし、プロテクトモードに由来するソフトウェアの問題は店晒し)
この問題は、かなり時間かけてやっていくよりない問題なので(ある程度尻尾は掴めたものの、なぜこのエミュレーション先i386コードからこうなるのか。を、
最終的に確定しきれてなくて、要はCPUがダメかエミュレーションしてる機種のエミュレーションがダメかの切り分けに手間取ってる)、
Work-In-Progressで取り入れていただくよりないかと。
今、某氏から要請のあったMC6809の逆アセンブラの改良と、独自にやってるPC9801のメモリアクセス廻りの高速化作業の一発目を、
身体の不調で店晒しにしています(後者は、現状でPC-9801RAだけが動いてて286搭載機種がダメである鬼畜状態)。
四月頭(三月後半だったかも)から連休までが色々異様に忙しかった反動と気候の変換で風邪ひいたっぽくて…(´・ω・`)
数日したら作業再開しますが、取り込み内容の判断はお任せします>武田さん

385:ナイコンさん
19/05/10 18:42:49.81 .net
DOSVAX をベースに作成した AX & J-3100 & DOS/V Emulator を公開しています。
URLリンク(www.nanshiki.co.jp)
フォントファイル等の追加無し、日本語入力も Windows の IME で可能となっています。

386:ナイコンさん
19/05/10 23:51:17.05 .net
>>369
wineでj3100の動作確認しました。なつかしのソフトが動いて嬉しいです。
Windowsだけでなくlinuxなどに対応させるのは難しいでしょうか?

387:ナイコンさん
19/05/11 00:16:04.09 .net
>>368
今さっき、とりあえず(要は根本的な解決になってない�


388:Cがするので)SUPPORT_24BIT_ADDRESSなPC98でも動くようにしました。 GITのecc00ae5ce15db672a459144b004632779b09e3a にて。 未だ、EMM386.EXE(MS)の件は未解決...。



389:Artane.
19/05/11 02:15:46.77 .net
6809逆アセンブラのご要望の件、どうにかしました(´・ω・`)
>>370
ざっくり見た感じだと、GUI書ければどうにかできそうです。
但し、IME絡みの問題やらなんやらあるので、画面レンダリング部分は、クロスプラットホームなGUIツールキットにあわせる必要がありますね。
当面は私はやれないので、どなたか…(´・ω・`)

390:ナイコンさん
19/05/11 11:34:43.50 .net
>>372
もとが DOSBox なので画面回りはそのままで大丈夫なはずです。
SDL の IME 拡張の X-Window 関連を適用してないのでそれをなんとかする必要があります。
あとは Linux に Windows の GetGlyphOutline に相当するのがあるかどうかですが、こちらは要 fontx ファイルか bdf 形式対応でもよいかもしれません。

391:Artane.
19/05/11 21:53:10.29 .net
>>373
いっそのこと、ibusやfcitxのように、Xプロトコルから独立したIMEにするか、
今ならばQt QuickでUI書いて、IMEはqt側に任せてしまうといいかと。(又は、Gtkなどの同等機能で)
こうすると、OS依存度を劇的に下げられますよ。
描画部分のGUI向けの書き直しとあたりやればとりあえずは、動きますよ。

392:ナイコンさん
19/05/12 10:08:40.62 .net
>>374
なんか話がかみあってないように思いますが。
今回ベースとしているDOSBoxは元々Linuxに対応しているのです。
マルチプラットフォームのためにSDLを使用しているので、IMEの対応もSDL内部で行う必要があります。
Qt対応などは一から作り直しレベルになってしまいますので、現実的ではありません。

393:Artane.
19/05/13 15:27:55.91 .net
>>375
>>375
どうせだからUI作り直してみては...と言う話だったのですが。
実際の所、画面的にきれいでなくてもいいな、SDL2を使うようにすれば、TextInputイベントでどうにかできるかも(要検討)
URLリンク(sdl2referencejp.osdn.jp)
URLリンク(wiki.libsdl.org)
で、SDL1はほぼDeprecated扱いされてますし、SDL2への変更点は表面上は少ないですよ。
本格的に使おうとするとアレコレ違うAPIに変えてかないといけないですけど。
私のやってるCSP/Qtの中の、
source/src/qt/osd_sound.cpp とか、osd_input.cppとか、
後はsource/src/qt/gui/joy_thread.cppとsource/src/qt/common/qt_util.cpp
のあたりが、参考になるかも知れないし、ならないかも知れません。
ココらへんは、最初はSDL1で書いて、後からSDL2(ほぼ専用)に書き換えてますので...。

394:ナイコンさん
19/05/13 15:34:18.75 .net
>>376
追記:
後、フォントに関しては、SDL_TTFなどでどうにかしてみるといいと思います。
URLリンク(www.libsdl.org)
URLリンク(www.hiroom2.com)
今は、4Kディスプレイから1280x720(又は640x480)のディスプレィまで、色々ある時代なので、そこだけは、やるなら最初から(UI関係は)考慮しておいたほうがいいと思います。

395:ナイコンさん
19/05/13 23:35:57.95 .net
>>372
対応ありがとうございます!!
> 6809逆アセンブラのご要望の件、どうにかしました(´・ω・`)

396:ナイコンさん
19/05/14 19:59:20.62 .net
>>376



397:>>377 いろいろ情報および提案をいただきありがとうございます。 何回も言っていますが、あくまで DOSBox ベースでの作成です。 DOSBox の根幹的な所まで修正するつもりはありません。 元々の DOSBox 自体は GUI もありませんが、充分実用になります。 Linux 対応ですが、一応 Ununtu 18.04 で日本語表示と入力まではできています。 日本語ファイル名等細かい問題がありますので、公開まではもう少しかかると思います。



398:ナイコンさん
19/05/14 20:00:41.96 .net
>>379
おお、Linux対応やってくれているのですね
ありがとうございます

399:ナイコンさん
19/05/14 20:05:27.31 .net
Ununtu じゃなくて Ubuntu です。
DOSBox-X で SDL2 や GUI 対応しているのは知っていますが、まだまだ活発な
活動中のようですので、あれをベースにして修正に対応していく余裕はありません。
今回 DOSBox も SDL1 もある程度枯れているというのが良かったのです。

400:ナイコンさん
19/05/15 19:20:32.81 .net
>>380
テスト版を下記にアップロードしました。
URLリンク(www.nanshiki.co.jp)
Ubuntu 18.04 64bit 版です。他のディストリビューションでしたらごめんなさい。
専用の SDL を使用する関係で dosvaxj3.sh で起動する必要があります。
他にも必要なライブラリがあるかもしれません。
初回起動時に ~/.dosbox/dosbox-0.74j.conf が生成されます。
DOS/V モードになりますので、J-3100 モードにしたい場合上記のファイルを修正してください。
フォントファイルの指定なしの場合 X のフォントセットから持ってきて表示するのですが、一旦
画像に展開してデータ化をしているので日本語ファイルをページアップで表示とかすると反応
が遅いかもしれません。速度重視なら fontx2 のファイルを指定した方がよいと思われます。

401:ナイコンさん
19/05/15 19:24:53.72 .net
日本語入力はできますが、OverTheSpot なので変換文字列は吹き出しの中で表示
みたいになります。
OnTheSpot は対応面倒そうなのでとりあえずはこれでよしとさせてください。
画面上の文字列のクリップボードコピーは動作しません。

402:ナイコンさん
19/05/16 19:24:23.23 .net
>>382
おお、動きました。ありがとうございます。

403:ナイコンさん
19/05/16 19:52:47.01 .net
>>384
報告ありがとうございます。動きましたか。
正式公開時には Linux 用は Ubuntu 用のバイナリのみ提供しようかと思います。
フォントについてはキャッシュが効くようにしたので表示速度は改善されています。
キーボードは日本語配列をご使用でしょうか。
日本語配列の場合、Enter 近辺の記号の入力がおかしくなっていませんでしょうか。
Windows では強引に解決したのですが、Linux では同じ方法ではだめなようです。

404:ナイコンさん
19/05/16 20:59:47.00 .net
>>385
> キーボードは日本語配列をご使用でしょうか。
はい、日本語配列です。
> 日本語配列の場合、Enter 近辺の記号の入力がおかしくなっていませんでしょうか。
まぁ、これはdosbox系列はみんなそうなのであきらめています。
> 正式公開時には Linux 用は Ubuntu 用のバイナリのみ提供しようかと思います。
おっと、私はFedoraなのです。
今回はたまたまUbuntu用のが動きましたが、できればgithubの方にマージしてもらった方がありがたいです。

405:ナイコンさん
19/05/17 18:53:13.68 .net
>>386
Debian 系と RedHat 系の違いがあっても動く場合もあるのですね。
共有ライブラリのバージョンが一致していれば大丈夫って事なのかな。
Linux 版ですが、github から取得して configure, make してくださいでも大丈夫なんでしょうか。
パッケージを作るというのが正道なのでしょうが、そこまではちょっと。
前回のが動いたということで再度テスト版です。
URLリンク(www.nanshiki.co.jp)
日本語キーボードに対応しています。

406:ナイコンさん
19/05/17 22:04:44.19 .net
>>387
> Linux 版ですが、github から取得して configure, make してくださいでも大丈夫なんでしょうか。
たぶん、Linux 使ってるような人はそれは大丈夫なんじゃないでしょうか
少なくとも私はその方がうれしいです

407:ナイコンさん
19/05/17 22:08:17.03 .net
>>387
日本語キーボードうまくいっています


408: ありがとうございます



409:Artane.
19/05/18 23:53:13.64 .net
リリースしています。
Win32ビルドとUbuntu(Xenial)ビルドは今ビルドしています...。
URLリンク(osdn.net)
で、相変わらずi386と言うかFreeBSD(98)やEMM386.EXE(MS)の問題は残っていますが、
あまりに変更点が多くなった気がしたので(で、ChangeLogまとめるためにログ見直したらすごいことになってた)、
一旦リリースします(´・ω・`)
現状が、マージポイントということでお願いしますm(_ _)m >武田さんほか皆様

410:Artane.
19/05/19 00:00:14.90 .net
>>390
少しハイライト:
①PC-9801でVRAMアクセスとメモリアクセスを高速化できたと思います。
 実際、PC-9801RAで10%以上は(ホストCPU周波数が変更しない前提で)10%以上は速く出来てると思います。
②PC-9801と言うかuPD7220をいろいろいじってます。今後は、コマンドFIFO周りの部分をもう少し”本物”と知覚したいと思ってます。
③いろいろとAPIが追加されてます。基本的に、read_signal()とwrite_signal()でやるようにしてます。
④MC6809と同じような形での「メインCPU減速機構」をi386に入れました。
 これ、「メインCPUはクロック周波数を一回設定すると変えられない」と言う制約と、PC-9801がクロックを変えれることの矛盾を解消しようということです。
⑤CPUに擬似信号線を追加してみました。
などなど...(;´Д`)

411:ナイコンさん
19/05/21 12:45:42.46 .net
DOSVAXJ3 AX & J-3100 & DOS/V Emulator をバージョンアップしました。
URLリンク(www.nanshiki.co.jp)
XGA, SXGA の V-Text 対応、Linux 対応等々です。
Linux 版は github より取得してビルドしてください。SDL-IM-plus も必要です。
バイナリについては要望があれば考えます。

412:Artane.
19/05/21 15:08:53.00 .net
>>392
お疲れ様です。
なんとかビルドできました。(Debian/sid/amd64)
①SDLはそのままビルドできるけど、DOSBOXのconfigure時にエラー。
 結局、-lXfont2と-XiがXベースのシステムだと足らなくなるので…。
以下、パッチ貼っておきますが、sdl-configの方が自動生成されてるはずなんで、SDL-IM-Plus側を変更する必要があると思います。
---------
--- sdl-config.orig 2019-05-21 15:00:21.469646324 +0900
+++ sdl-config 2019-05-21 15:06:53.484649966 +0900
@@ -45,7 +45,7 @@
echo -I${prefix}/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
;;
--libs)
- echo -L${exec_prefix}/lib -Wl,-rpath,${libdir} -lSDL -lpthread
+ echo -L${exec_prefix}/lib -Wl,-rpath,${libdir} -lSDL -lXfont2 -lXi -lpthread
;;
--static-libs)
# --libs|--static-libs)

413:ナイコンさん
19/05/21 15:11:44.02 .net
>>393
追記。
出来たら、SDL-IM-Plusのsoname(libSDL.so.xx.yy.z)を、別の名前にしてもらうのとDOSBOXも別の名前にしていただけると色々ありがたいのです。
それと、sdl2-configとかヘッダのディレクトリとか…。
今のままだと、既存のとバッティングしかねないので、お願いしますm(_ _)m

414:ナイコンさん
19/05/21 19:29:39.32 .net
>>393
すみません。
何分 autoconf 等は使ったことがなかったので修正には時間がかかると思われます。
Raspberry Pi 3 でビルド・実行できたのですが、Debian なもので同じ所でエラーになります。
情報があって助かりました。
あと Raspberry Pi の場合フォントセットで日本語フォントが取れないようです。
一応 xfonts-intl-japanese やら big やらを入れてはみたのですが。
とりあえず fontx2 ファイルを使えば動きます。フォントファイルは ~/.dosbox に入れる
必要がありますのでご注意ください。

415:ナイコンさん
19/05/21 19:33:48.38 .net
>>39


416:4 SDL については最終 1.2.15 ベースで、プログラム側から IM イネーブルにしなければ元の 1.2.15 と同じ動き になるはずです。 ヘッダファイルも ENABLE_IM_EVENT を定義しなければ元のまま(ここらへん確証無し)となるはずです。 まあ名前変えた方がいいのでしょうけど、何分 autoconf 等の使い方や Linux の共有ライブラリ のしきたりというか文化に慣れていないもので、時間がかかると思われます。



417:ナイコンさん
19/05/22 07:26:25.22 .net
>>395
dosbox-x がやってるように、自家版 sdl をソースツリーに同梱してしまって
それを常に使うというのはどうでしょうか?

418:ナイコンさん
19/05/22 07:36:32.91 .net
>>395
それと、configure は github にはおかないほうがいいと思います。
autogen.sh で各自作れますので。
github におかれた configure だとエラーが出ることがよくあります。
それで autogen.sh を実行すると、次回 pull したときバッティングがおきて面倒になります。

419:ナイコンさん
19/05/22 18:39:51.12 .net
DOSVAXJ3、SDL-IM-plus の Linux 関連を修正しました。
SDL-IM-plus は libSDLIM に変更し、ヘッダも /usr/local/include/SDLIM に置いて SDL 1.2.15 と共存可能としています。
DOSVAXJ3 も実行ファイル名を dosboxj に変更し、設定ファイルも ~/.dosboxj/dosboxj-0.74.conf に変更しています。
Debian 9 / Ubuntu 18.04 で git clone からのビルド、インストールは確認しました。
X Window で日本語のフォントセットが取れない場合はとりあえず半角のみ内蔵フォントを使用します。
日本語が表示されない場合は fontx2 ファイルを使用してください。

420:ナイコンさん
19/05/22 23:45:42.50 .net
>>399
ありがとうございます。Fedoraでもビルドできました。
ただ、~/.dosboxj/dosboxj-0.74.conf で machine=dcga
としても j-3100 モードにならないようです...

421:ナイコンさん
19/05/22 23:48:43.72 .net
と思ったら、~/.dosboxj/dosboxj-0.74.conf でなくて ~/.dosboxj/dosbox.conf ですね
これでうまくいきました

422:ナイコンさん
19/05/22 23:53:46.18 .net
たびたびすみません。>>401 は間違いで、dosbox.conf の書き方がまずかったみたいです
お騒がせしました

423:ナイコンさん
19/05/23 00:07:51.17 .net
さらにすみません。どうもカーソルキーが効かないようです。
Ctrl-F1 でマッパーを書き換えても "key 0" となってしまってうまくいきません...

424:Artane.
19/05/23 07:33:58.67 .net
>>399
ありがとうございます。
Debian sid (AMD64)でビルドと動作を確認しました。

425:ナイコンさん
19/05/23 19:39:51.83 .net
DOSVAXJ3 AX & J-3100 & DOS/V Emulator をバージョンアップしました。
URLリンク(www.nanshiki.co.jp)
Windows 版も dosboxj.exe にしたのと、LFN の不具合を修正しています。
>>401
~/.dosboxj に dosbox.conf があるとそれを優先して読み込んでいました。
今回 dosboxj.conf (存在しない場合は dosboxj-0.74.conf を生成) を使用するように変更していますのでご注意ください。
>>403
こちらの環境ではカーソルキーは問題なく使用できています。
今回デバッグ用の出力機能を追加しましたので、 dosboxj.conf の [dosbox] に debug=true を追加して起動し、カーソルキーを押した際にコンソールに出る内容をお教えください。

426:ナイコンさん
19/05/23 20:42:34.80 .net
>>405
上下左右です。
scan=6f, sym=111, mod=0
scan=74, sym=112, mod=0
scan=71, sym=114, mod=0
scan=72, sym=113, mod=0

427:ナイコンさん
19/05/24 12:43:52.81 .net
>>406
こちらと同じですので、スキャンコード等の問題ではなさそうです。
一旦 ~/.dosboxj/ の中身を全部削除してから再起動して確認してみていただけますでしょうか。

428:ナイコンさん
19/05/24 21:30:17.35 .net
>>407
~/.dosboxj を決してみましたがやはりカーソルキーが効きません...

429:ナイコンさん
19/05/24 23:18:53.61 .net
>>408
カーソルキーですが、コマンドラインでの←→でカーソル位置移動、↑↓でのヒストリ検索もきかず、アプリ等でもきかないということでしょうか。また、PageUp PageDownはききますでしょうか。
こちらのDebian, Ubuntu では問題ありません。Fedoraのバージョン等の細かい情報をいただけますか。
またキーボードはUSB接続でしょうかPS/2でしょうか。スキャンコードが一致してるので関係なさそうではありますが。

430:ナイコンさん
19/05/24 23:27:16.98 .net
>>409
> カーソルキーですが、コマンドラインでの←→でカーソル位置移動、↑↓でのヒストリ検索もきかず、アプリ等でもきかないということでしょうか。
はい、どちらもききません。
> また、PageUp PageDownはききますでしょうか。
PageUp では '/' が入力され、PageDown はききません。
それぞれのスキャンコードは
scan=70, sym=118, mod=0
scan=75, sym=119, mod=0
です。
> Fedoraのバージョン等の細かい情報をいただけますか。
Fedora29です。gcc-8.3.1 でコンパイルしています。
> またキーボードはUSB接続でしょうかPS/2でしょうか。スキャンコードが一致してるので関係なさそうではありますが。
Dell のノートPCです。

431:ナイコンさん
19/05/25 00:12:29.01 .net
>>410
他に違う働きのキーはありますか。
それと以前に出したUbuntu用のバイナリではカーソルキーは正常でしたでしょうか。
こちらでもFedora入れて試してみます。少々お待ちください。

432:Artane.
19/05/25 00:38:49.30 .net
i386な9801RA(武田さんの版はRA21ですかね?)で、「16メガヘルツかつ二倍速」なら、ギリギリフルスピード動作出来てたけど少し厳しい@Ryzen2600 3GHzちょっとだったし、Win32だとABIの問題がありすぎてる為に惨憺たる状況だったので、
EMM386.exe(MS)動かしたときの不具合調べつつ、デバッガーの拡張とメモリウエイト周りを実装しました(´・ω・`)
デバッガーのバックトレースコマンド(UT)と逆アセンブラに、色々機能つけて、特に386上のソフトのデバッグ支援機能を高めました。
UTコマンドは、16Mエントリー記録出来る上に、外部に書き出せるようにして、例外やFAULTを取り込んだりしました。
エントリー数が普通だと多すぎる気がしなくもないので、可変設定(256エントリーから2の28エントリーくらいで2の階乗エントリー作れる)機能後で作ろうかと思ってます。
最近のgitからお願いします(´・ω・`)

433:ナイコンさん
19/05/25 10:53:17.10 .net
>>411
> 他に違う働きのキーはありますか。
ざっと試した感じ、他のキーは大丈夫そうです。
> それと以前に出したUbuntu用のバイナリではカーソルキーは正常でしたでしょうか。
すでに消してしまって確認できないのですが、気にならなかったので正常だったのではないかと思います。
> こちらでもFedora入れて試してみます。少々お待ちください。
すみません、よろしくお願いします。

434:Artane.
19/05/25 21:42:23.12 .net
>>410
どちらかのキーボードが違う。と言うことはないでしょうか。

435:ナイコンさん
19/05/25 23:07:19.78 .net
ubuntsu版は消してしまったので確認できませんが、windowsの最新版をwineで実行すればカーソルキーも効きます

436:Artane.
19/05/26 03:04:32.55 .net
>>415
そうだとすると、SDL_Eventで処理されてるキーコードがWindows版だとVK_なんたらと言うコードに一旦翻訳されてから渡されてるけど、
GNU/Linuxに限らず多くのU*ixシステムではインフラ(Xやevdevなど)のキーコードが直接渡されてる辺りの差異っぽいですね。
ただ、ウチ(Debian sid)だとちゃんと操作できてるので、
キーボードが吐いてる生コードが違ってるか、Xなどが渡すコードが違うかだと思います。
最終的には、OSやインフラがどういうヴァージョンかとかの話も絡んでるっぽいですね。

437:ナイコンさん
19/05/26 07:51:42.05 .net
そういえば、素のdosboxや、dosbox-xでもカーソルキーは問題ありません。
ということは、sdl-im-plusで追加した部分が問題ということでしょうか?

438:ナイコンさん
19/05/26 09:26:26.27 .net
>>413
ビルドしたフォルダの config.h で C_X11_XKB が #define で定義されているか確認していただけますでしょうか。
もしくは configure 実行で for XKBlib support が表示されているかどうかです。
あと dosboxj.conf の [sdl] usescancode=false に変更して動かしてみてください。
Linux 版は平日夕方しか作業できませんので、Fedora での確認は少々お待ちください。

439:ナイコンさん
19/05/26 09:35:20.23 .net
もう一点。dosboxj 起動時にコンソールに keyboard type XX といった表示は出てますでしょうか。出ていれば XX の内容をお教えください。

440:ナイコンさん
19/05/26 17:46:00.66 .net
>>418
> ビルドしたフォルダの config.h で C_X11_XKB が #define で定義されているか確認していただけますでしょうか。
1と定義されています。
> あと dosboxj.conf の [sdl] usescancode=false に変更して動かしてみてください。
カーソルが効くようになりました�


441:I > もう一点。dosboxj 起動時にコンソールに keyboard type XX といった表示は出てますでしょうか。出ていれば XX の内容をお教えください。 表示されません。 DOS keyboard layout loaded with main language code JP for layout jp は表示されていますが、keyboard typeは出ていません。



442:ナイコンさん
19/05/27 18:47:24.92 .net
>>420
原因ですが、Wayland の場合に XGetAtomName の返値が evdev で始まる文字列ではなく (unnamed) となっており、そのためキーマップの設定値がおかしくなっていたようです。
修正していますので usescancode=true に戻してカーソルキーが動作するか確認してみていただけますでしょうか。
正常動作しない場合、今回は keyboard type が表示されますのでそれの内容をお教えください。
なお、設定ファイルは ~/.dosboxj/dosboxj.conf に統一しましたのでご注意ください。
Windows 版も MS-IME でのキー入力が入りっぱなしになる件の対策等を行っています。
URLリンク(www.nanshiki.co.jp)

443:ナイコンさん
19/05/27 19:01:07.65 .net
>>421
カーソルキーが効くようになりました
ありがとうございます

444:ナイコンさん
19/05/27 21:25:24.82 .net
調子に乗ってもう一つ不具合を報告すると、J-3100モードでJ-3100SS001(初代Dynabook)付属の日本語MS-DOS ver.3.1 をブートしようとすると
Opening image file: dos31.img
Booting from drive A...
のまま固まってしまいます。SS001以外のDOSは持っていないので他でどうなるかはわかりません。
それと、もしかしたら、J-3100の1.2MBの2HDからブートできないのかな、とも思っていますがどうでしょう?

445:ナイコンさん
19/05/28 08:36:30.64 .net
>>405
日本語入力が可能で、634Kの空きが有るのも
素晴らしいですね。

446:ナイコンさん
19/05/28 17:43:54.50 .net
>>422
効くようになりましたか。良かったです。
>>423
こちらの手持ちの V486C の MS-DOS と英語版 MS-DOS でもブート出来ませんでした。
東芝 MS-DOS/V (1.44MB) ではブートできましたので、確かに 1.2MB のイメージからはブート出来ないのかもしれません。
東芝 DOS の場合 BIOS の日本語拡張部分が東芝 DOS 内蔵のものを使用すると思われます。
そうなりますと、仮にブート出来たとしても DCGA 画面への切り替えが DOSVAXJ3 で認識できなかったり、対応していないハードウェアスクロールや漢字 ROM 直接読み出し等々の問題がでて正常動作しないと思われます。

447:ナイコンさん
19/05/29 07:43:10.69 .net
>>425
なるほど。幸い、リセット必須のソフトはあまりないのでブートはあきらめます^_^

448:Artane.
19/05/30 06:16:47.72 .net
ドラゴンバスター(98)の文字がとりあえずマトモに表示出来るようになりました。
下の方が切れてますが、描画系のサイズ可変にしないと無理ですねー(´・ω・`)
後でやります…(´・ω・`)
後、EMM386.EXE(98)の問題、どうやらハイレゾ機じゃないのにハイレゾ機と誤認識してたりするのではないか?と言う所までは詰めました。
まだまだかかりそうですが(´・ω・`)
ただ、それでは説明不十分な類似現象がいくつかのソフトであるので、それもまだまだ…(´・ω・`)
お試しは、githubかosdnからgitつかうなどして最新のgitリボジトリにて。

449:Artane.
19/05/30 06:19:54.65 .net
>>427
追記。
後、PC9801::DISPLAYですけど、GVRAMがEGCやらGRCGやら色々な所から読み書きされるので、分離してしまった方がよさそうに思えてきました(´・ω・`)
色々考えます(´・ω・`)

450:ナイコンさん
19/05/31 18:57:17.05 .net
>>426
J-3100 の場合、機種毎に専用の MS-DOS があったりしたので、ブートしたとしても個別の対応が必要と思われます。
DOSVAXJ3 ですが、細かい修正を行ったバージョンを公開しています。
これで一旦休止とします。

451:ナイコンさん
19/06/01 14:52:28.21 .net
ねこプロジェクト使ってるですけど
FDDを仮装でなくて実ドライブを認識させることできます?
持ってるゲームを動かしたいんだけど
FDを仮想化した時点でプロテクト働いて起動できない

452:ナイコンさん
19/06/01 15:22:01.10 .net
T98-NEXTは実機のFD読めなかったっけ?

453:ナイコンさん
19/06/01 15:30:49.34 .net
>>431
試して見ます

454:ナイコンさん
19/06/01 18:05:12.84 .net
WIMPで癖なく使えるって素晴らしい
作業多くて大変でしょうけどまったりePCEに期待してます
武田さんもArtaneさんもいつも有り難うございます

455:ナイコンさん
19/06/14 21:03:20.59 .net
武田さんのePC-8001mk2SRで、
mk2モードから、マシン語でSRモードに切り替えるソフトが動作しない。
例外的なことらしいけど、ここは実機とは違う部分。なんとかなるといいんだけど。
因みに、やっているそふとはこんな感じで書いてある。
DB,33,F6,80,D3,33→ IN A,33H、OR 80H、OUT 33H,A
切り替えている理由は、おそらくNモード用の高速なDISK BASICを使う為だろう。
SRには、DISKBASICは超遅い標準の物しかない。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch