直前の投稿でURLのリンクがエラーに(ここの仕様を理解してませんでした。。。すみません)
以下、改めて
X:
https://twitter.com/fmtownsworld
私のサイト:
http://fmtowns.fanweb.jp
これだけだとあれなので、もう1本確認結果を
「CITY LIGHTS」→動きませんでした。起動時にMIDIカードをチェックしていてそこでひっかかっている模様。(実機なら起動だけはする)
2023-09-10 17:34:59
千尋さん、ご無沙汰してます!動作確認ありがとうございます!
City Lightsは、貴重品っぽいですね。MIDI関係は、実機を使っていた当時もMIDI機材は持ってなかったもので、そこでひっかかられるとつらいのですが、最近RS232CをTCP/IPにリダイレクトする機能を追加したので、誰かRS-MIDIのエミュレータとか作ってくれないかという他力本願なことを考えてます。もしもMIDIで止まっているとしてRS-MIDI対応であればそれが実現したら動くかもしれないですね。
MIDIカードのI/Oの情報があればせめてMIDIカード無し、という情報を返すようにしたいところですが、どこかに情報ありますかね?そういえば、同様の問題としてはLANカードのI/Oがわからないというのがありますが。
2023-09-11 04:07:50
山川機長さん
コメントありがとうございます。I/Oに詳しい方の登場に期待しつつ・・・少し補足情報です。
このソフトは同じメーカーのシリーズで5~6本あり、内部的には2種類に大別できます。
401のMIDIカードのみ対応のものと、402/403のMIDIカードにも対応しているものになります。
前者はTsugaruでメニュー画面まで表示されそこでハングアップ。後者はメニュー画面がでる前にチェックされてブラックアウトします。
なお、この結果はMIDIに対応しているはずのUnzでも同様の結果でした。原因の切り分けが難しいですね。
2023-09-11 22:03:13
手持ちのタイトルでMIDI対応の物はジェノサイドスクェアとF-BASIC 386 V2.1 L20しかパッと思いつきませんが、
おそらく拡張スロットのI/Oポートと思われる範囲でデバッグ(BRKON IOR 0E00 0FFF)したところ
ジェノサイド スクェアで0x0E51というところが読み込まれるようで、これを0を返すように変更したところ今までMIDIの項目で選んでもすぐ「OFF」に切り替わってしまっていた「BORAD」(拡張スロット?)が選択可能となりました。
ただし、MIDI BOARDを選択したままゲームを開始するとMIDIからの返答がないためかゲームが開始されませんでした。
F-BASICの方は起動時に0x0E51のほかに0E59・0E61・0E69・0E71というポートにも読み書きが発生していましたが、これはFMT-402/403で追加された部分ですかね。
現状でも一応はMIDIカード無し(ポート0E51の値はFF)となるような形になっているようなのですがチェック方法は何か特殊なんでしょうか。
2023-09-12 02:33:05
もう1タイトル、動きました。
ASKA BASE
Unzではタイトル画面でハングしていましたが、津軽では問題なく起動しました!
2023-09-15 21:45:38
Linuxのソースにmidi.cなるMIDIドライバがありました。
TOWNSってMIDIボード4枚刺しまで対応しているぽいですね。
0E59・0E61・0E69・が増設分
0E71はMIDI受信割り込みマスクらしいです。
シリアルチップを初期化→FIFOをON→シリアルチップのコマンドレジスタを読んで、これがFFでなければMIDIボードありの判定をしているような印象です。
「CITY LIGHTS」が起動しない原因は何でしょうね。
MIDIカード無しを返す場合は、ボードが無ければ0E51はFFとの事ですし問題無さそうな気がします。
ディスカバリーのミラージュですと設定画面で401、402の切り替えが出来たと思います。
401、402って2chシリアルぽいのですが、これ一枚でSC-88の64音に対応出来たのでしょうか。
2023-09-16 10:15:42
しまった、またFirefoxから書き込んで、書いた内容が消えてしまった。。。。仕事関係はChrome、それ以外はFirefoxという使い分けをしてたんですが、最近ここにFirefoxから書くと無視される現象が発生してるんですが、うちだけですかね?
なお、津軽を結構大規模に改造して、ときどきサウンドバッファがアンダーランしてノイズが聞こえる現象に決着をつけるべく、入力+画面描画を別スレッドに分けました。これにより、ウィンドウ動かしてる最中とかでも音楽が鳴り続けるとかいう副産物ができたり、あとCDDAもストリームにせざるを得なかったので、今までCDを最初から最後まで再生させようとか思ったらオーディオバッファの都合で途中で止まってたものが、全部流れるようになったりしました。
最初からそうすればいいのに、と思われそうですが、OpenGL使ってる都合で、ちょっと苦戦しましたね。OSごとにこの部分別々にコード書きたくなかったもので。でも、これでどう切り分ければいいのか大体わかったから陸奥も同じ手でマルチスレッド化しよう。
一応、自動テストは全部通過して、M1 MacBook Airでも短時間ですが問題なく動作することを確認したのですが、結構大改造だったもんで、他力本願で申し訳ないのですが、ソースからビルドできる方でお時間がありましたら、最新版ソースをビルドしていくつかテストしていただけると非常にありがたいです。
2023-09-18 09:26:10
最新ソースを試してみましたが、フレームレートが大幅に下がったようで画面の更新がかなりカクカクしています。
2023-09-18 15:44:11
動作報告(と、以前の報告のアップデート)
・魔彩子雀 → 動作せず(Unzと同じ現象) ※FD版ソフト
タイトル画面でメニューはでるもののゲームスタートボタンが押せない(無反応)
ただし、同じメニュー内の終了ボタンだけは押せるので、もしかしてプロテクト?
・CITY LIGHTS → 改めてテストしたところMIDIカードチェックはしていたようです。(メッセージが速くて見えなかった。「FMTボードがありません」のようなメッセージが一瞬出てそのままブラックアウトしますのでMIDIカードチェックではないかと思います)
2023-09-18 16:55:34
BCCさん、
なんと。フレームレート下がりましたか??かなり落ちたのは、60fpsが30fpsになったとかいうレベルでなく10fpsとかぐらいになってますか?
従来版だと新しい画面イメージができるたびに強制的に描画していたものが、今のバージョンではWindow Threadが約1/60ごとにその時点の最新の画面イメージを描画するように変えたのですが、カクカクするということは、多分その1/60のはずがもっと遅くなってるっぽいですね。最新の画面更新のタイミング取りをbusy waitにするという手もあるにはあるのですが。現在、描画回りは、VMスレッドがレンダリングスレッドにVRAMを渡して、その後VMスレッドがイメージができたことを確認してWindowスレッドにイメージを渡すというまわりくどいことをやっているので、Window Threadが分かれた今となっては、VRAMをWindow Threadに投げてあとは放っておくように書き換えた方がすっきりするので、まずそっちをやってみます。
2023-09-19 01:27:41
山川機長さん
ちゃんとフレームレートを図ったわけではないですが、15fps以下になっている印象でした。ゲームだけでなくTMENUのマウスカーソルの動きすら目に見えて遅い。
ちょっと調べた感じでは、main_cui\main.cppやmain_gui\runvm.hのrun関数内で
while(true!=window.CheckVMClosed())
{
window.Interval();
auto t=std::chrono::high_resolution_clock::now();
auto dt=t-t0;
if(16<=std::chrono::duration_cast<std::chrono::milliseconds>(dt).count())
{
window.Render(true);
t0=t;
}
std::this_thread::sleep_for(std::chrono::milliseconds(5));
}
となっているところを
if(16<=std::chrono::duration_cast<std::chrono::milliseconds>(dt).count())
{
window.Render(true);
t0=t;
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
とif内にsleepを移したところフレームレートが向上しました。ただ、まだこの状態でもカクツキが見受けられます。
CD-DA再生時のフリーズ現象はなくなったようなのですが、バックグラウンドで別アプリを動かしている時などには音が歪む現象はそのままでした。
2023-09-19 02:18:46
実験していただきありがとうございます!Windowsだと、std::this_thread::sleep_forがどんなに短い時間を指定しても16msは寝てしまうという問題があるので、試しにそのsleepを消してしまったら変わりますかね?
2023-09-19 03:23:38
sleep_forそのものを消してしまうと動作速度そのものがかなり遅い状態となってしまい余計悪化してしまいました。
Windowsのsleepの精度はtimeBeginPeriod()を使うと2msまでは向上するというのを見つけたのですが役に立ちませんかね。他のエミュのコードでもタイマ精度を上げるために使用されてるものです。
時間がある時に効果があるか自分でも試してみます。
https://qiita.com/Ocean0000/items/eda88323e568ddbd13bc
2023-09-19 08:41:08
おおなるほど。そんな関数があったとは。さすがです!"Windows sleep less than 10 ms"みたいなキーワードで検索しても、そんな方法は無い、としか出てきませんでした。
なお、timeBeginPeriodを使うようにして、レンダリングもWindowスレッドにさせるようにしたソースをPUSHしたので、よかったらお試しください。
バックグランドが重くなって津軽のスレッドがある程度以上のスピードで走らなくなるとどうしても音が切れる現象は発生してしまいますが、スレッドがふたつ全力で走れる状態であれば音がプチプチ途切れる現象は無くなるはずなのですが。
2023-09-19 11:49:36
千尋さん、
動作確認ありがとうございます!しかし、どちらもなかなか入手が難しそうなタイトルですね。魔彩子雀ですが、もしもコピープロテクトだとすると、まだ原本ディスクが生きていればFM TOWNS実機でFDDUMP (https://github.com/captainys/FM/tree/master/TOWNS/FDDUMP/exe) を使って.RDD形式イメージにするととりあえずMB8877 FDCで取れる情報はすべて取ってくるので通過すると思うのですが。今のところTOWNSで確認できているプロテクトは、D77形式で再現できないものは見つかっていないので、これも同じであればKryoFluxとかPaulineとかで取ってD77に変換したやつでも通ると思うのですが。
フロッピーディスクは劣化が困りますよね。古くならなくてもよく消えて泣いた記憶がありますね。TOWNSが登場したとき、他人がCD-ROMは書き込めないから意味が無い、などと言ってるのを聞いて、うっかり書き込んで消してしまう心配もなくて、しかもほっといても劣化しないなんて、なんてすごいメディアなんだ!と、思った少数派でしたが。ディスクやテープが劣化して何度も泣いた結果、いつも最低三重にバックアップ取ってないと不安で眠れなくなってしまって、ここ20年以上、一日分以上の作業を失ったことがありません。
2023-09-19 21:47:02
PUSHされたコードで試したところまだややカクツキがある(旧verと比較)ようですが大分改善されました。1スレッドのCPU使用率が100%で張り付いてしまう問題も解決しているようです。ありがとうございます。
timeBeginPeriod・timeEndPeriodをコメントアウトして試したところ前と同じ状態になったので、これを使えば問題なくsleepの精度が向上しているようです。
スレッド処理の話は一旦おいて実装されていないFPU命令の動作報告ですが、
フリコレ11に収録されているDNA Duplication、Tiny Radio Control、Srf View、Terrain Walk Demosのデモ類のWindows 3.1版がFST STi、FSUBR ST STi、FDIV ST STiの3命令を使用(Pullリクエスト済み)
Another TownsのCDに収録されていたTOWNS版午後のこ~だ(MP3デコーダ)がFADD STi ST、FLDLG2、FMUL STi ST、FFREEの4命令を使用しているようです。
2023-09-19 22:59:33
確認ありがとうございます!しかし、まだややカクツキがあるんですね。フレームレートが落ちたときの感じですが、VMは本来の速度で走っているものの、画面の更新頻度だけ落ちてる感じですか?それともVMごと速度が落ちてる感じですか?VM threadとWindow thread間でstd::mutexを使ってロックをかけてますが、ロックがかかってる時間をできる限り短くしたつもりなのでこれによってラグが発生することは無いだろうと甘く見ていたのですが。
謎なのが、Super大戦略起動時、BGMが鳴り始めた後でディスクアクセスが入ったときBGMが(実機でも)一瞬間延びする現象がありますが、マルチスレッド化する前は津軽上でも発生していたのですが、マルチスレッドにしたら発生しなくなってしまいましたね。あとStrike Commanderでブラックアウトをオンにした状態で強いGをかける、またはグレアをオンにした状態で太陽の方に機首を向けるとBGMが遅くなる現象に気が付いたのですが、これは実機でも起きていたものかどうか。
なお、一か所ロックが正しくなかったところを修正して、ループあたりのロックの回数を減らしたバージョンをPUSHしたのですが、これで改善してないですかね?
FPUの件もありがとうございます!確認してみます。
2023-09-20 01:23:16
山川機長さん
ロック修正では変化が見受けられませんでしたが、最新のnewImageRenderedフラグ追加でマルチスレッド化以前に近いフレームレートになったようです。
2023-09-20 18:53:31
山川機長さん
>まだ原本ディスクが生きていればFM TOWNS実機でFDDUMP~
アドバイスありがとうございます。原本は実家にあるので回収できたら試してみます。
湿度に注意して保管しているので前回(数年前)見たときはカビはありませんでした。いまも読めるといいのですが。
フロッピーに比べると適当に保管しているCD-ROMですが、幸いは読めなくなったものは今のところ1枚もありません。
ただ、媒体より先にTOWNS実機が壊れました・・・。
2023-09-24 11:54:07
山川機長さん
ちょっと時間が空いてしまいましたが、UNZで動かないソフトを試してみました。
「ドライブシミュレーターHOME NAVI」 です。(ゼンリンのカーナビCDをTOWNS上で表示するためのソフト)
アプリ自体は起動するのですが画面が出ません。症状としてはナビCDを読みだせないようで、UNZも同じ現象でした。
以前どこかのレビュー(たぶんOh!誌)記事に「このソフトは特殊なCDアクセスを行っている」とあったのでそれが原因なのかもしれません。
2023-11-04 09:45:55
おおなるほど。ドライブシミュレータも、なかなか入手が難しいやつですね。ちょっと対応は難しい鴨しれないですね。
でも、貴重な情報をありがとうございます!
2023-11-06 06:56:08
山川機長さん
コメントありがとうございます。いまさら古いナビのソフトに需要はないと思うので、単なる参考情報でした。
CDが読めないという意味では「DATA TOWNSMAN」(SONYの電子ブックEB規格のCDを表示するためのソフト)
これも同じ症状でアプリは起動してもCDを読むことができません。UNZも同様です。
もちろん実機では正常にCDを読めるので、やはり特殊なアクセス方式なんでしょうかね。
2023-11-06 22:33:59
はじめまして。
ソフト「プリンセスメーカー2」なのですが、新作「プリンセスメーカー2 リジェネレーション」が発売になるので、プレイしたいと思い昔のバージョンVer.2020_10_21では問題なく動いてくれます。(作者様感謝です。) 久しぶりに最新バージョンVer.2023_09_13で起動してみたら名前入力画面から音が飛び(ぶ?)ます。設定等があるのでしょうか?教えて下さるとありがたいです。m(__)m。タウンズは亡き父が所有していたので私は詳しくないのですみません。
2023-11-20 20:41:26
>プリンセスメーカー2
自分が確認した限りではVer.2023_09_13でも、最新ソースからコンパイルしたものでも音飛びなどは発生しませんでした。
津軽以外にアプリを起動している場合は全て終了しておく、CPU Speed(FREQ)を16程度まで下げてみる等は試しましたか?
2023-11-20 21:25:51
おおなるほど!プリンセスメーカー2ってリメイクされるんですね!
すでにBCCさんがコメントされている通りですが、CPU速度を下げると音が飛びにくくなる傾向があります。それから、うちの環境ではDOSBoxを起動してると音が飛びやすくなるような傾向があるので、多分ほかにも相性の悪いソフトはあると思うので、他のプログラムをクローズしてみてください。津軽は速いCPUにべったり依存してしまっているもので。
また、最近オーディオの再生方法を大規模に変更したので、以前のバージョンと音が飛ぶ条件に変化はある鴨しれません。一応、以前に比べると飛びにくいはずなのですが、CPUコア数が少ないやつだとかえって飛びやすくなった可能性もあります。
2023-11-21 02:46:08
あ、そうか。オーディオ再生方法変更してからまだリリースしてなかったような気がしてきたから、ぼちぼちリリース作った方がいいのか。
2023-11-21 02:49:22
BCC ID:zNDIzYzZk様
山川機長 ID:3ODc2ZmE4様
とりあえず時間を見てアドバイス頂いたようにCPU Speedを16にして起動。再起動して他のアプリを一度も起動させていない状態で起動。
どちらもプリンセスメーカー2の音飛びとオープニングデモがカクカク起動。ドラゴンスレイヤー英雄伝説も音飛び。麻雀美少女伝リップル=音楽がずれる、ゲームが遅い。
(Ver.2023_09_13で動いていたソフト)
プリンセスメーカー2では以下の通りでございます。(同じ条件でも起動画面まで最新のものの方が遅い気がします。)
Ver.2022_01_17 OK
Ver.2022_09_24 NO
起動実験時間が空いたらまたやって報告いたします。
2023-11-21 13:02:37
お世話になります。
とりあえず色々ド素人知識で試しましたが、音飛び、ゲームの動きが遅い等・・・、がVer.2022_03_30~Ver.2023_09_13で症状が出ます。
TownsOS_V2.1_L51を再インストールし直し、CDプレイヤーでCDを聞いてみたら異常ありませんでした。
2023-11-21 19:52:48
m(__)m申し訳ございませんでした。
直近でRevo Uninstallerというレジストリ(?)までクリーニングするアプリでアンイストールを多数したので
これで余計なものまで削除してしまったかなと思い、システムの復元を11月13日までしてみたら、この素晴らしい
アプリ「津軽」が復活しました。(windows11のシステムの復元は評判悪いのであまり使いたくなく最終手段でした。)
音がおかしいのも動作が遅いのも治りました。これからはコントロールパネルからアンインストールしたいと思います。
治そうと考えヒントがないかと、昨日から作者様のホームページとこのサイトの掲示板を読みインターネット等で調べ一つ
わかった事がございます。作者様が中心になって皆さんの力で作成しているエミュレーターなんだという事を!
本当にありがとうございますm(__)m ご迷惑をおかけしました。m(__)m
これからも宜しくお願い致しますm(__)m
2023-11-22 15:23:17
直って良かったです!
なお、リリース出しました。前回のリリースと比べて音がブツブツ切れる現象は大幅に改善しているはずです。よかったらお試しください。
2023-11-26 03:53:54
リリースありがとうございます。
私の所ではどうだろうとプリンセスメーカー2で確認したところ、
2023_11_24版では特に問題ありませんでした。
一つ前の2023_09_13版では、ずっとプツプツプツ・・・とほぼ一定周期のノイズ音が鳴りまして、
CPUクロックを下げるとプツプツの間隔が長くなり、上げると間隔が短くなり、66HMzまで上げると連打音みたいになります。
CPUは第3世代のCOREi3です。
2023-11-26 20:38:20
山川機長様
ありがとうございますm(__)m。ご迷惑をお掛け致しました。お騒がせしてすみませんでした。
新リリースありがとうございます!
ソフトはまだまだありますのでこれからもご報告させていただきます。
2023-12-01 14:06:51
Rocket Rangerのセリフがなぜ正しく再生されないのか解明できたので、いつかクリアしたいと思っていたRocket Rangerを今ならステートセーブの力でクリアできるだろう、と、思ったら、
第二章に入って、博士とジェーンを救出に向かって捕まったところのムービーが途中で終わってしまって、無視して進めると第三章に進むことができるのですが、次のイベントムービーが捕まったところのムービーをまた再生してしまって、感じとしてこのまま進めてもクリアできなさそうな状況になってしまったのですが、誰か実機でクリアした人います?
一応念のためメモリ16MB積んでるとおかしくなる可能性を考えて、2MBで再開して、今度は原因を究明すべく解析しながら進めてますが、実機で果たして捕まったとこのムービーは正しく再生されるのか、次のムービーに進むことができるのか、あるいは486だと動かないとか何か情報ありますかね? 実機でやったときは離陸があまりにも難しくてアメリカに戻るたびに2か月ずつ浪費してほとんど先に進めなかったもんで。(当時、ものすごく期待して買ったのに、あまりの難しさにものすごくがっかりした記憶がある。)
Amiga版のプレイ動画(https://www.youtube.com/watch?v=m75x4iNhTB0) を見ると、TOWNS版はストーリーが微妙に違ってAmiga版には無いシーンが追加されてるようですね。止まってるのはこの追加されたムービーシーンのようです。
2024-04-04 01:24:15
>378 山川機長さん
Rocket Rangerですが、過去に実機でクリアしました。
その当時特に困った状況になった覚えも有りませんので何事も無くクリアできたことは事実です。ただし、当時は恐らくmodel2でしたがMXやHCでクリアした覚えは無いので、486だとどうかは不明です。
時代背景が好きなので何度もクリアしましたが、今度HCや津軽でやってみます。
このゲーム、今居る場所から行きたい都市までの燃料計算に付属の計算尺(と言うほどの物でも無い)が必要なので、ある意味物理的なコピープロテクトが有るのが特徴ですね。
ゲーム自体はミニゲームの集まりなのですが、仰る通り離陸がネックで、私も慣れるまでは何度もずっこけた記憶があります。
2024-04-04 09:14:39
すごい!ロケットレンジャーを実機でクリアできる人がいたとは!これ、離陸さえできればあとはなんとかできそうな気がするのですが。Fort Dixからの離陸がどうしてもうまくいかないんですよ。というかステートセーブできるんだから練習したらうまくなるだろうか。
しかし、これ、多分バグですね。捕まって尋問されるシーンで正しい受け答えをしないとCL=0でルーチンを抜けてしまうのですが、そうすると何の説明も無くスカンジナビア半島から再開してしまうのですが、正しい受け答え、
彼女に手を触れるな→やめてくれ、話す!→縄を解いてくれ、そうしたら話す
これを選ぶと、イベント続行になりました。
解析したらCL=0以外の場合続行することがわかって、ひょっとしてCL!=0で出てくるパターンがあるかと思って調べたらあっさり見つかりました。正しい受け答え以外出荷前に誰もテストしなかったというパターンだろうか。この部分、CL=0で出てくるののは誤りなのでパッチ当ててデバッグしようと思ったらデバッグできるから、大航海時代みたいに津軽のapplication specific augmentationでバグ取ってやろうかな。
2024-04-04 10:13:43
ロケットレンジャー (ステートセーブしまくりで) クリア確認できました!
なお、問題のイベントシーンは放置してもその後ロケット部品をすべて集めれば普通に先に進んだかもしれません。ステート保存してあるのでいろいろやってみます。多分、選択を間違うと本当はゲームオーバーに移行するはずが、バグって間違ったステートに移行してしまったのではないかと見ています。
2024-04-04 21:14:06
DUNGEON MASTERシリーズについて書き込みます。うんずでDM1、続DMカオス、DMIIスカルキープとも動作するのですが矢印キーが反応しない、CD-DAが再生されない・・・と今一つだと思っているところで津軽を見つけました。情報交換の板の説明通り、最新の20240223をダウンロードし、ROMはうんずから移植、CMOS.DATも移植と準備をしました。DM1は問題なく動くのですが、続DMカオス、DMIIともシステムエラー(システムが入っていない?)といったエラーがでて始まりません。津軽はHDDにシステムをインストールするなどしないといけないといったことがあるのでしょうか?それともうんずでは最初からできている設定が、津軽では自分でやらないといけないなどあるのでしょうか?別のHPでそれぞれ動作確認されているのは見ました。
2024-05-02 13:06:53
DM2は持ってないのでわかりませんが、カオスの逆襲はgithub上の互換BIOS使用、津軽は20240223および最新ソースからコンパイルしたもので問題なく起動しました。設定もGUI版でBootタブにてCD、あとはCDイメージを選択しただけで特別なことはしていないはずです。
イメージ化に失敗している可能性があるのでCD Manipulatorを使用し、「正しいTOCとギャップ位置の取得」にチェックを入れて読みこんでみてください。
2024-05-02 13:35:30
CMOS.DATも移植したということですが、念のためこれも一度削除して初期化したほうがいいと思います。
2024-05-02 13:39:12
早速ご教授頂きありがとうございます。ROMをGit Hub互換のものに変えてCDからのBootを選択、ディスクイメージは改めてCD Manipulatorで作り直しました。これで続DMカオスはきちんと動作しました。一方DMIIはタイトルまでは良かったのですが、その後の「New、Resume、Quit」の「New」を選ぶと「SYSTEM ERROR 50」というエラーが出て止まってしまいました。悩んだ末にROMを再度うんずから移植し直したところこちらもきちんと動作しました!おかげさまで無事にダンジョンで迷うことができそうです。
2024-05-02 14:59:39
Samurai Spirits津軽で試した人いますか?普通に起動するじゃん、と思っていたら、途中から画面が崩れて、ざっと調べたところSPENが頻繁にOn/Offしていて、SPENの動作を追ったらVSYNC割り込み内でOn、割り込み終了後どこかのタイミングでOffという怪しい動きをしていて、現在ここで調査が止まってますが、スプライトが何枚描画されたところで止まったのか計算して正確に再現しないとだめか、、、、という予感がしてるんですが。(ひょっとすると画面クリアまでやらせてるだけ鴨しれない)
2024-08-08 23:44:35
SPEN=1でVSYNCを迎えてビジー(スプライト描画中)になれば、途中でSPEN=0にしても指定個数を全て描き終えるまではビジーです
もしDP(スプライト停止時の表示ページの切り替え)も変更しているならなかなか厄介ですが、どんな具合でしょうか…
2024-08-09 04:57:10
pinさん、いつもヒントをありがとうございます!
原因は、Samurai SpiritsはSPENを0にするとき、一緒に表示枚数をコントロールするIND9-0をクリアしていたのが原因でした。津軽は実機のようにインクリメンタルにスプライトを描画せずに、一気に描画してしまうので、描画タイミング(Sprite BUSY->READYに切り替わる、またはSprite BUSYの状態でSPENをゼロにする)でIND9-0がゼロだと1024枚描画してしまっていたのですが、本来はスプライトBUSYになったタイミングでのIND9-0の値が表示枚数をコントロールするので、差が発生していました。そこで、IND9-0をSpriteがBUSYになるタイミングでキャプチャするように変更して問題解決しました。最新版ソースだとSamurai Spiritsも正常動作すると思います。
2024-08-09 10:49:39
最新ソースを試したところ、サムライスピリッツのオープニングで花びらが画面上に残り続ける問題は修正されたようですが、今度はデスブレイドでキャラクターがチラついて表示される不具合が発生してしまっているようです。
2024-08-10 01:58:30
https://www.youtube.com/watch?v=FrX65IFsOos&t=256s
同チャンネルの近い時期の投稿に実機のメンテ動画があるので、おそらくこれも実機で動かしてのレビューですが
"first of all, the character sprites flicker quite a lot." とのことですので、
ある程度のチラつきは実機通りではないでしょうか。(あるいは津軽のそれはプレイに支障をきたすレベルのチラつきでしょうか?)
2024-08-10 03:53:25
>pinさん
支障とまでは言えないですが、その動画よりチラついている印象です。動画中のキャラと同一にしても常時体上部に欠けるスプライトがある。ただ前バージョンはチラつきしなさすぎたのでこっちのほうが実機に近いかもしれません(普通に表示されていたというのは記憶違いだったか)。
2024-08-10 09:02:45
うーん、Death Bladeは難しいですね。見たところ、 VSYNC待ち→なんかちょっと処理→スプライト枚数設定 とやっているようなので、ばっちりSprite Busyなタイミングで枚数設定をしてますね。多分スプライト表示枚数の設定(IND9-0)は画面消去中に間に合えば良いのかもしれません。ときどきチラつくのはおそらくときどき間に合ってないからで。という仮説のもと、スプライト画面消去完了のタイミングで表示枚数をキャプチャするように変更してみたのですが、そうすると今度はSamurai Spiritsがまた壊れました。とりあえず、ちらつきを防止するには、スプライト終了のタイミングでIND9-0を再キャプチャすればいいので、そのような修正を入れたのをPUSHしましたが、Death Bladeを実機に忠実にチラつかせるのは難しいようです。
2024-08-11 21:35:38
素晴らしいアプリケーションを作成して頂き、ありがとうございます。
ROM dirに漢字があるとSTARTさせた時にアプリケーションがクラッシュします。パスを英数字だけにすると落ちないので解決策はありますが、何かのタイミングで修正して頂けると幸いです。
2024-09-03 16:26:57
山川機長さん
>まだ原本ディスクが生きていればFM TOWNS実機でFDDUMP~
→だいぶ長く(約1年)かかってしまいましたが、やっと原本ディスクを回収できました。
早速実機でFDDUMPを試したところ、FDDUMP自体が正常に動作せずイメージ化できませんでした。
症状としてはFDDUMPのコマンドを叩いたあと、FDランプ点きっぱなしでそのまま先に進まない。というものです。
ハードウェアとしては実機のモデルMFにSCSIのMOを接続し、そこを出力先に指定しています。
FDはノンプロテクトの適当なブランクディスクで、DOS単独起動とT-MENUのコンソールの両方で試しましたがどちらも同じ結果でした。
パラメータはあっていると思うので、FDDがハードウェア的に逝ってしまっている可能性もあり、まずはクリーニングしてみます。
2024-10-06 23:55:03
すみません、最近互換TOWNS OS書いててこっち見るの忘れてました。なお、互換TOWNS OS、Discordの方でBCCさんと盛り上がってるんですが、既にVSGP, SkyDuel, Panic Ball 2, Alltynexなどフリーソフトに加えて、Afterburner 2とGalaxy Forceまで動くようになってます。なお、こちらです。 https://github.com/captainys/FreeTOWNSOS
nonameさん、
漢字ファイル名でクラッシュしましたか。うーん、多分システムエンコーディングをUTF-8にするとクラッシュしないと思うんですが、日本で売ってるWindowsだとまだデフォルトShift-JISなんでしょうか? 多分、いずれデフォルトUTF-8になる日が来ると思うので、とりあえず様子見てます。
千尋さん、
そうですか。MFであればFDDUMP動作しそうですね。うまく読めるといいのですが。出力先がMOなのは問題ないと思うんですが。続報お待ちしてます。
2024-10-26 12:06:46