鎌田さん、こんばんは。
日記で紹介された ThroughClock ですが、さっそく
使ってみました。なるほど、これならばディスクトップに
表示していても邪魔になりませんね。便利なだけではなく、
オプションメニューも豊富でとても面白いにょ(笑)。
ではでは。
広井さん、こんにちは。
> 日記で紹介された ThroughClock ですが、さっそく
> 使ってみました。なるほど、これならばディスクトップに
> 表示していても邪魔になりませんね。便利なだけではなく、
> オプションメニューも豊富でとても面白いにょ(笑)。
ThroughClock は、ある意味すごくシンプルなんだけど、
カスタマイズしやすくて使い勝手がいい、そんな感じ。
これを見て Delphi というものに興味を持ったりしています。
SCSI-BIOS といえば 、 一応自前でほぼ互換の
SCSI アクセスのルーチンを書いたことが
あるのですが 、 入出力の処理を
全部 DMA でやるのは苦労が多いですね 。
READ/WRITE はともかく 、 メッセージ関係が 。
それはそうと、それで思い出したのですが 、
InsideX68 の SCSI のサンプルプログラムにが
バグが居ます 。
p515
dma->cpr=0x08; とある行は 0x03 が正解です 。
CPR に 0x08 と言う設定はないです 。
p68 の DMA のサンプルと見比べるとわかります 。
巷にある InsideX68 の正誤表にもなかったので 。
LeDA さん、こんにちは。
> SCSI-BIOS といえば 、 一応自前でほぼ互換の
> SCSI アクセスのルーチンを書いたことが
> あるのですが 、 入出力の処理を
> 全部 DMA でやるのは苦労が多いですね 。
> READ/WRITE はともかく 、 メッセージ関係が 。
おお、SCSI-BIOS を書けるとは、さすがです。
ほんと、READ と WRITE だけで動けば簡単なんですけどねぇ。
それじゃ SCSI じゃなくて単なるシリアルポートになっちゃいます。
> それはそうと、それで思い出したのですが 、
> InsideX68 の SCSI のサンプルプログラムにが
> バグが居ます 。
>
> p515
> dma->cpr=0x08; とある行は 0x03 が正解です 。
> CPR に 0x08 と言う設定はないです 。
> p68 の DMA のサンプルと見比べるとわかります 。
CPR(チャンネルプライオリティレジスタ)は下 2 ビット以外
0 固定だから、0x08 は変ですね。
情報ありがとうございます。
> おお、SCSI-BIOS を書けるとは、さすがです。
あっ、いや、100% オリジナルじゃないんですけどね (^_^;)。
InsideX68 のサンプルと 、SCSI-BIOS の逆アセンブルソースを
参考に、全部 C で書いたものがあります 。
FAT32 ツールでは使ってませんが 、 ある実験で SCSI の全エラーを
検出する必要があり、また全ての待ちにおいてタイムアウトを
起こさせる必要から作りました 。
(SCSI-BIOS は一部の処理待ちで永久待ちになる可能性が
あります 。)
この部分のソースは公開しても問題ないので(どうせ
X68 内蔵 SCSI 専用だから)、 希望があれば出します 。
もっとも、関数レベルですし、BIOS の全コマンドを
サポートしているわけじゃないのですが 。
(全コマンドは発行出来るが 、 全コマンドと同じエントリはない 。
要するに、SCSI コマンドを知ってないとダメ 。)
LeDA さん、こんにちは。
> あっ、いや、100% オリジナルじゃないんですけどね (^_^;)。
> InsideX68 のサンプルと 、SCSI-BIOS の逆アセンブルソースを
> 参考に、全部 C で書いたものがあります 。
> FAT32 ツールでは使ってませんが 、 ある実験で SCSI の全エラーを
> 検出する必要があり、また全ての待ちにおいてタイムアウトを
> 起こさせる必要から作りました 。
>(SCSI-BIOS は一部の処理待ちで永久待ちになる可能性が
> あります 。)
タイムアウトは必要ですよね。あまり長いのは嫌だけど。
S44PLAY.X を作っていたときは、CD-ROM ドライブのアクセスが
固まったら、おもむろにキー操作で止めて、SCSI バスリセット
していました。
> この部分のソースは公開しても問題ないので(どうせ
> X68 内蔵 SCSI 専用だから)、 希望があれば出します 。
> もっとも、関数レベルですし、BIOS の全コマンドを
> サポートしているわけじゃないのですが 。
>(全コマンドは発行出来るが 、 全コマンドと同じエントリはない 。
> 要するに、SCSI コマンドを知ってないとダメ 。)
SCSI-BIOS のプログラムの例を参考にしたい人はいると思います。
内蔵 SCSI と Mach-2(p) では SPC の仕様がだいぶ違うので
SCSI-BIOS が別の物になってしまうところが難点ですね。
内蔵 SCSI は MB89352、Mach-2 は MB86601、mach2p は MB86604。
その1.
「でじこ」は、隠し属性でなので、DVDは買うにょ。
でも、TVは、放送地区外…。(だから、DVD待ちにょ)
その2.
バナーを更新しました。パスの方は、変更ありません。
その3.
【(す)のぺーじ】の掲示板を見たら、懐かしい名前発見。
おもわず(PCの前で、)小躍りしてしまいました。(笑)
はぐれこかとりすさん、こんにちは。
> その1.
>「でじこ」は、隠し属性でなので、DVDは買うにょ。
> でも、TVは、放送地区外…。(だから、DVD待ちにょ)
隠し属性って…。
世界征服の前に日本全国のテレビ局を征服しなくちゃダメだにょ。
> その2.
> バナーを更新しました。パスの方は、変更ありません。
フォントが変わって影がつきましたね。
こちらは 16 日に更新しました。
> その3.
>【(す)のぺーじ】の掲示板を見たら、懐かしい名前発見。
> おもわず(PCの前で、)小躍りしてしまいました。(笑)
ほっほっほ。
鉄の大陸、もうすぐかな?
こんにちは.iga です.
暇が出来たので,少し動作チェックをしてみました.
メモリ周りに不安がある,という事ですので,違うメモリ(I/O
スロットに挿す 2MB)に換えて,mach2p のメモリを無効にしてみた
のですが,やっぱり lx.r が固まりました(一応内蔵 2MB は FD に
キャッシュをあててつぶしました).上手く行く事もあって,
電源を入れたてだと大丈夫なような気もします.
強制ソフト転送の件ですが,lx.r では使ってなさそうですね.
一応ソース覗いておきます.
こうなると一体何がいけないのか本当に判りません.
とりあえず,Quantum の ATLASII が手に入る事になりましたので,
それが来てからもう少し試してみます.
それでは.
iga さん、こんにちは。
> 強制ソフト転送の件ですが,lx.r では使ってなさそうですね.
> 一応ソース覗いておきます.
>
> こうなると一体何がいけないのか本当に判りません.
lx.r はメモリを目一杯使うことで .lzh ファイルを高速展開
するプログラムです。
詳しく調べたわけではないので憶測になりますが、lx.r が
他のプログラムが普段は使わない領域まで使っている
可能性があります。
特定の領域を使うとうまく動作しないということであれば、
lx.r だけ動かないこともあり得ると思います。
鎌田さん,こんにちは.
> lx.r はメモリを目一杯使うことで .lzh ファイルを高速展開
> するプログラムです。
> 詳しく調べたわけではないので憶測になりますが、lx.r が
> 他のプログラムが普段は使わない領域まで使っている
> 可能性があります。
> 特定の領域を使うとうまく動作しないということであれば、
> lx.r だけ動かないこともあり得ると思います。
そういえば,refreshg.x も固まって実行できない事がありました.
fsck.x を AT から転送して展開して……というのが面倒だったので,
refreshg.x で FAT のチェックだけを行いたかったのですが,1023MB
のパーティションを調べるとなると,メモリを大食いしますね.
確かにメモリの使い方が関係しているかもしれませんね.
# これがリフレッシュ中だったら……
こんにちは.
Quantum の AtlasII が届きましたので,早速試してみました.
……
固まらなくなりました!
あっさり直ってしまいました.
mach2(p) と IBM の相性が悪いという話は今回初めて知りましたので,
ここに来なかったらと思うと……本当に助かりました.
ありがとうございました.
iga さん、こんにちは。
> Quantum の AtlasII が届きましたので,早速試してみました.
:
> 固まらなくなりました!
> あっさり直ってしまいました.
おお、それは良かったです。
IBM の HDD で動かなかった mach2p でも動いた HDD の例として
参考になりますので、細かい型番を教えていただけますか?
(QM3xxxxAL-Sxx のような感じだと思います)
鎌田さん,こんにちは.
> IBM の HDD で動かなかった mach2p でも動いた HDD の例として
> 参考になりますので、細かい型番を教えていただけますか?
>(QM3xxxxAL-Sxx のような感じだと思います)
QM~という表記は見つけられなかったのですが,HN21S391
と書いてありました.商品名は XP32275S です.AtlasII の
narrow SCSI,2275MB(1MB=1,000,000bytes) です.
IBM の HD は XVI に入れる事にします.
iga さん、こんにちは。
> QM~という表記は見つけられなかったのですが,HN21S391
> と書いてありました.商品名は XP32275S です.AtlasII の
> narrow SCSI,2275MB(1MB=1,000,000bytes) です.
ありがとうございます。
Atlas II っていろいろあるんですね。
XP32275S というのがキーワードのようです。
これから買う人は参考にしましょう。
製作体制のアレですが、私も最初の数分見逃したので、もしかしたらそこに違う情報が含まれているのかもしれませんが、日記の例で言うとその速い赤や凄い黒というのは、監督の頭の中にはそれなりのイメージはあるのでしょうが、この場合は、それが無い、本人がその「速い赤」のイメージが出来ていない状態でスタッフがつくっているという感じがしました。私はこのチームの前作は買ったし非常に気に入っているのですが、それだけに意外という感じがしてます。
みかぜさん、こんにちは。
> 日記の例で言うとその速い赤や凄い黒というのは、監督の頭の中にはそれなりのイメージはあるのでしょうが、この場合は、それが無い、本人がその「速い赤」のイメージが出来ていない状態でスタッフがつくっているという感じがしました。
なんと。
スタッフがてきとうに作ってそれを監督が気に入ったら
採用とか?
名前だけ貸しているという解釈もできますが、私は逆に
学生が書いた論文を自分の名前で発表する悪徳教授を
連想してしまいました。
逆ポーランド記法といえば、私もインタープリターを
自作したときに勉強しましたっけ 。
ASK3 のアクセサリで 、 拙作の ASKDen2 等にはそれが載ってます 。
私が参考にしたのは 、I/O 別冊の「MZ80 活用研究」。
その中にあった Hudson の BASIC コンパイラーの解説が
わかりやすかったです 。
2 本のスタックを使えば楽に処理できます 。
今にして思えば、インタープリターでは不要な気もしますが。
(コンパイラー作成には不可欠と思う 。)
LeDA さん、こんにちは。
> 逆ポーランド記法といえば、私もインタープリターを
> 自作したときに勉強しましたっけ 。
> ASK3 のアクセサリで 、 拙作の ASKDen2 等にはそれが載ってます 。
フロントエンドプロセッサに電卓機能を持たせたのね。
そういえば ASK のアクセサリは私は作ったことがないかも。
> 今にして思えば、インタープリターでは不要な気もしますが。
>(コンパイラー作成には不可欠と思う 。)
インタプリタでも、プログラム機能があってループや
関数定義などで 1 つの式を何度も評価する場合には、
あらかじめ演算子の優先順位を解析しておいたほうが
速く動きます。
「ぺけ -BASIC」はインタプリタですが、プログラムを
ロードした直後にすべての式をポーランド記法
(逆ポーランド記法とは逆の前置式)に変換しておくことで、
式の評価を高速化しています。
フロントエンドプロセッサやコマンドライン電卓で
プログラム機能を持たせない場合は、数式の文字列を
1 パスで計算するほうが手っ取り早いです。
HAS060.X は、整数の式ではシンボルの前方参照や外部参照を
伴うので逆ポーランド記法を使用し、浮動小数点数の式では
前方参照も外部参照も許されないので 1 パスで計算しています。
鎌田さん、こんにちは。
> STUDIO KAMADA のビジット数カウンタが
> 40000 を越えました。
おめでとうございます。ドンドンパフパフー!!
もうすぐ 68000 ですね(笑)。
これからも STUDIO KAMADA を楽しみにしています。
がんばってください。
ではでは。
広井さん、こんにちは。
> > 40000 を越えました。
>
> おめでとうございます。ドンドンパフパフー!!
> もうすぐ 68000 ですね(笑)。
40000 までずいぶんかかったので、すぐというわけには…。
今のペースだと、ちょうど 1 年で 68000 くらいではないかと。
> これからも STUDIO KAMADA を楽しみにしています。
> がんばってください。
ありがとうございます。がんばるにょ。
鎌田さん、こんにちは。
日記で逆ポーランド記法のページを紹介していただき、
ありがとうございます。KT.X の calc の説明、楽しみ
にしています。
ところで、鎌田さんの日記でジオシティーズのメール
サーバーの不調を知りました。お知らせはこまめに
チェックしないといけませんね。それにしても、
ジオシティーズは最近トラブル続きで困ったものです。
それから、電子メールでの恐い話ですが、関連記事を
読んでみると、この問題は2年前からわかっていたよう
です。放置していた企業は本当に困ったものです(怒)。
それではまた。
広井さん、こんにちは。
> 日記で逆ポーランド記法のページを紹介していただき、
> ありがとうございます。KT.X の calc の説明、楽しみ
> にしています。
やることは逆ポーランド記法と同じ(同じ計算をするの
だから当然)ですが、与えられた式をすぐに計算してよい
ときは、わざわざ逆ポーランド記法に変換しなくても
"(3-7/7)*9" に "18" と答えることができます。そんな話。
電脳倶楽部 137 号 (1999 年 10 月号) に少し書いたのですが、
もっとわかりやすく書けたらいいなぁと思っています。
> ところで、鎌田さんの日記でジオシティーズのメール
> サーバーの不調を知りました。お知らせはこまめに
> チェックしないといけませんね。それにしても、
> ジオシティーズは最近トラブル続きで困ったものです。
Web が直ったと思ったら今度はメール。
困ってしまいますね。
私はジオのお知らせのページを WWWC のリストに入れて
しまっています。しかし、以前サーバが止まっていた
ときは、お知らせのページも応答せず、役立たずでした。
> それから、電子メールでの恐い話ですが、関連記事を
> 読んでみると、この問題は2年前からわかっていたよう
> です。放置していた企業は本当に困ったものです(怒)。
つつけばいくらでもボロが出てきそうな感じです。
WIRED NEWS は怖い話が多いです。
こんにちは.iga です.
アドバイスありがとうございます.
IBM の HD が mach2(p) と相性が悪いとは,初めて耳にしました.
少し頭が混乱しているのですが,私の場合は,
・使用機種は EXPERT で,拡張メモリ部は mach2p,全メモリバスマスタ
転送可能であり,バスマスタ転送に設定している.
・ソフト転送,バスマスタ転送とも,固まるときは固まる.
・以前 X68030 で使用していた (メモリは満開製にて 12MB,全メモリ
バスマスタ転送) が,固まるときは固まるものの,冷やしたら
固まらなくなったので熱暴走だと思っていた.しかし今回は
エアコンが故障中で極寒の条件下での話.
という事です.バスマスタでも固まります.
今は忙しく,色んな条件で試すのが難しい状況ですので,もう少し
経ってからまた調べさせて下さい.
と思っていたら,中村さんからお返事が届きまして,
・GENOCIDE2 が動作している Human v2 は動作保証外.
・mach2p の拡張メモリ部は問題が確認されているが,今となっては
調べる事が出来ない (0x200000~0xBFFFFF にすれば大丈夫,と
いうような説明書きが入っていたような……).
との事です.
うーん,これからどうしましょう……
iga さん、こんにちは。
> 少し頭が混乱しているのですが,私の場合は,
>・使用機種は EXPERT で,拡張メモリ部は mach2p,全メモリバスマスタ
> 転送可能であり,バスマスタ転送に設定している.
>・ソフト転送,バスマスタ転送とも,固まるときは固まる.
>・以前 X68030 で使用していた (メモリは満開製にて 12MB,全メモリ
> バスマスタ転送) が,固まるときは固まるものの,冷やしたら
> 固まらなくなったので熱暴走だと思っていた.しかし今回は
> エアコンが故障中で極寒の条件下での話.
> という事です.バスマスタでも固まります.
固まるかどうかは Mach-2(p) と本体(とメモリ)の相性も
影響するくらいですから、気温で変化したり、使用して
いるうちに変化したりすることも考えられます。
そういう状況では、固まらなくても転送データが化けて
いる可能性があります。
全領域バスマスタ転送というのは、「なるべくバスマスタ
転送で転送する」という設定です。すべての転送が必ず
バスマスタ転送になるわけではありません。
また、アプリケーション(特にアニメーション再生などの
ストリーミング系のもの)の中には、自動的にソフト転送に
切り替えるものがあります。(S44PLAY.X もその 1 つです)
> と思っていたら,中村さんからお返事が届きまして,
>・GENOCIDE2 が動作している Human v2 は動作保証外.
>・mach2p の拡張メモリ部は問題が確認されているが,今となっては
> 調べる事が出来ない (0x200000~0xBFFFFF にすれば大丈夫,と
> いうような説明書きが入っていたような……).
> との事です.
mach2p のメモリ部分のことは私もよくわかりません。
中村さんも既に満開製作所の社員ではなく、超多忙の日々を
送られていますから、あまりいじめないであげてください。
> うーん,これからどうしましょう……
もしも先頭の 2MB は問題がないようであれば、K-MID. さん
の方法でなんとかなんとかなる可能性はあります。
ソースリストなど残っていませんか?>K-MID. さん
鎌田さん、こんにちは。
> 固まるかどうかは Mach-2(p) と本体(とメモリ)の相性も
> 影響するくらいですから、気温で変化したり、使用して
> いるうちに変化したりすることも考えられます。
> そういう状況では、固まらなくても転送データが化けて
> いる可能性があります。
一時期,ppp.x がアドレスエラーで動かなかったのですが,
FD からコピーし直したらなんとも無く動いたのは……
> 全領域バスマスタ転送というのは、「なるべくバスマスタ
> 転送で転送する」という設定です。すべての転送が必ず
> バスマスタ転送になるわけではありません。
> また、アプリケーション(特にアニメーション再生などの
> ストリーミング系のもの)の中には、自動的にソフト転送に
> 切り替えるものがあります。(S44PLAY.X もその 1 つです)
そうだったのですか.具体的には,どうしたらソフト転送が
出来るのですか?
> 中村さんも既に満開製作所の社員ではなく、超多忙の日々を
> 送られていますから、あまりいじめないであげてください。
いじめているつもりは無いのですが……いつまでも代品を
借りるわけにもいかないと思いましたので,出来るだけ早く
解決したかったのですが,私も (ここに書き込みをするほどの
余裕はありますが) 忙しいですし,中村さんにも判らない
ような症状で困ったものですし……あせっていました.
気を付けます.
iga さん、こんにちは。
> 一時期,ppp.x がアドレスエラーで動かなかったのですが,
> FD からコピーし直したらなんとも無く動いたのは……
コピーしたときに壊れたのでしょう。
私もそういう経験があります。
> > また、アプリケーション(特にアニメーション再生などの
> > ストリーミング系のもの)の中には、自動的にソフト転送に
> > 切り替えるものがあります。(S44PLAY.X もその 1 つです)
>
> そうだったのですか.具体的には,どうしたらソフト転送が
> 出来るのですか?
SCSI-BIOS は、バスマスタ転送を行うかどうかを転送の
直前に決定します。
SRAM の全領域ソフト転送フラグ($ED0070 の bit4)を
セットしてから SCSI コールを呼び出せば、強制的に
ソフト転送にすることができます。
転送が終わったら、SRAM のフラグを元に戻さなければ
いけません。
なお、ストリーミング系のアプリケーションで SCSI を
ソフト転送にする必要があるのは、バスマスタ転送中は
MPU がバスをほとんど使えないため割り込み処理が滞り、
データを正常に再生できなくなるからです。
S44PLAY.X には -hard というテスト用のスイッチがあって
ソフト転送にせずに動作させることができますが、その
モードではメモリに入り切らないデータを正常に再生する
ことができません。
> ソースリストなど残っていませんか?>K-MID. さん
作った後、LmMach2 という同じことをするフリーソフトの存在を
知って、自作部分は捨てちゃいました (^^;
しかし、基本的には先に書いた通り、ディスクアクセス部を
インターセプトして、本体 RAM の転送バッファを経由した
SCSI DMA 転送 +CPU 転送で行っただけですので、鎌田さんなら
すぐに対処できると思います。
さらに加えるなら、ソフト転送をできなくすること位でしょうか。
K-MID. さん、こんにちは。
> 作った後、LmMach2 という同じことをするフリーソフトの存在を
> 知って、自作部分は捨てちゃいました (^^;
> しかし、基本的には先に書いた通り、ディスクアクセス部を
> インターセプトして、本体 RAM の転送バッファを経由した
> SCSI DMA 転送 +CPU 転送で行っただけですので、鎌田さんなら
> すぐに対処できると思います。
> さらに加えるなら、ソフト転送をできなくすること位でしょうか。
ソフト転送を 100%回避するためには SCSI-BIOS
(SCSI-IOCS よりもさらに下のレベル)を差し替える
必要があるのですが、SCSI-IOCS のレベルでも
通常の使用には問題ないかな。
こんにちは。
私も、Mach2 (Mach2p ではない) で昔、同様の現象になりました。
私の場合、DORS や DCAS で HDD が Hangup していましたので、
Mach2 と IBM 系 HDD に共通の相性問題だと思います。
> 060turbo はソフト転送を多用しますし、ソフト転送
> が使え
> ないと S44PLAY.X が動かないので、私は Mach-2 を外し
> ました。
私も 060Turbo を使用していますが、060Turbo + ハイメモリ + Mach2
の最速環境は捨てられないので、2~3年ほど前、確実に HDD を
Hangup させるプログラムを書き、(元)満開の中村さんに解析して
頂きましたが、IBM 以外では問題ないようでした。
060Turbo 側も soft 転送しなければ Hangup することは少なくなる
(全くなくなるわけではなかったと思いますが)のですが、Mach2 や
High メモリが使えなくなるのが痛いので、プログラムで対処しました。
・本体 RAM にバッファを取る
・Mach2 のディスクアクセスは すべてバッファに DMA 転送
・バッファから指定メモリへ CPU 転送
これで、060Turbo (+ ハイメモリ) + Mach2 + IBM HDD で大分ましに
なりましたが、NetBSD/X68k で激しく HDD アクセスすると
Hang するので、結局、IBM HDD を諦めることにしました。
現在は Mach2 に Fujitsu と Seagate の HDD を繋げていますが、
こちらでは Hang することはありません。
# Seagate の HDD の立ち上がりが遅いという、別の問題はありますが、
# なんとか対処できますし…
今も元気に 家の Mail server として活躍しています。
K-MID. さん、こんにちは。
> 私も、Mach2 (Mach2p ではない) で昔、同様の現象になりました。
> 私の場合、DORS や DCAS で HDD が Hangup していましたので、
> Mach2 と IBM 系 HDD に共通の相性問題だと思います。
DORS は SCSI-2/SCSI-3 対応ですよね。
SCSI-2 の DSAS もダメだったのを思い出しました。
UltraSCSI に限らず、Mach-2(p) を使っている人は IBM の HDD を
増設することは避けたほうがよいかも知れません。
> 060Turbo 側も soft 転送しなければ Hangup することは少なくなる
>(全くなくなるわけではなかったと思いますが)のですが、Mach2 や
> High メモリが使えなくなるのが痛いので、プログラムで対処しました。
>
>・本体 RAM にバッファを取る
>・Mach2 のディスクアクセスは すべてバッファに DMA 転送
>・バッファから指定メモリへ CPU 転送
>
> これで、060Turbo (+ ハイメモリ) + Mach2 + IBM HDD で大分ましに
そう、これをやれば、iga さんの環境でも動くようになる
可能性があります。
060turbo の場合はデバイスドライバのレベルの転送は
060turbo.sys がもともと持っている機能である程度
カバーできます。
(でもやっぱり S44PLAY.X は動かないけど)
鎌田さん,初めまして.iga と申します.
鎌田さんの日記や掲示板に出ているようですが,
「mach2 と相性が悪い UltraSCSI の HDD」
とはどんなものでしょうか?症状を教えて頂けませんか?
というのも,mach2p と IBM DDRS-34560U を使っているのですが,
原因不明のハングアップに悩まされているからです (FSHARP に
書いてあります).
中村 (兄) さんから mach2p の代品を送って頂いたのですが,
GENOCIDE2 ではハングアップしなくなったものの,lx.r では
相変わらずです.今のところ,拡張メモリを使わないと
ハングアップしなくなるようですが,2MB は苦しいです.
よろしくお願いします.
iga さん、はじめまして。
> 鎌田さんの日記や掲示板に出ているようですが,
>「mach2 と相性が悪い UltraSCSI の HDD」
> とはどんなものでしょうか?症状を教えて頂けませんか?
機種は IBM の Ultrastar 2ES シリーズの DCAS-32160 です。
Mach-2 を久しく使っていないので細かい状況までは覚えて
いませんが、
・起動できない
・Mach-2 のメニューで SCSI 機器の一覧を表示できない
・アクセス中に固まる
・転送データが化ける
などでした。
起動時だけの問題ならば強引に回避できるのですが、
転送が信用できないことにはどうしようもありません。
他にも IBM の Ultrastar 18ES シリーズの DNES-309170 でも
同様の症状が出ると報告されています。
> というのも,mach2p と IBM DDRS-34560U を使っているのですが,
> 原因不明のハングアップに悩まされているからです (FSHARP に
> 書いてあります).
DDRS-34560 は IBM の Ultrastar 9ES シリーズですね。
> 中村 (兄) さんから mach2p の代品を送って頂いたのですが,
> GENOCIDE2 ではハングアップしなくなったものの,lx.r では
> 相変わらずです.今のところ,拡張メモリを使わないと
> ハングアップしなくなるようですが,2MB は苦しいです.
拡張メモリの領域はバスマスタ転送になっていますか?
なっていなければ、ハードディスクの電源を切った状態で
mach2p のメニューを出してメモリ自己診断をしてください。
拡張メモリがバスマスタ転送にならなければ諦めたほうが
よいと思います。(ドライバを作って先頭の 2MB を媒介して
転送するようにすればなんとかなる可能性はありますが)
IBM の UltraSCSI のハードディスクは、Mach-2(p) の特に
ソフト転送と相性が悪いようです。
(本体の SCSI インタフェイスならばソフト転送でも動くので、
非同期転送が使えないドライブというわけではありません)
060turbo はソフト転送を多用しますし、ソフト転送が使え
ないと S44PLAY.X が動かないので、私は Mach-2 を外しました。
書き忘れてましたが 、IDE-SCSI 変換ボードは
全ての SCSI コマンドを変換出来るわけではないので 、
SCSI コマンドを駆使して作られたソフトでは
動かない可能性があります 。
特に 、 マルチイニシエーターは考慮されてないので、
TNB 製作所製の CODIY などはダメと思われます(未確認)。
まあ、一般的な HDD を動かすだけのコマンドなら通りますが 。
それと、GOVERHD を書けた後なら 、SUSIE を使わなくても
Human から直接アクセスできます 。
もう少し知りたければ 、 拙作の FAT32 ツールのドキュメントも
参考にしてください 。
日記にあった「大容量 HDD を X68 につなげるか ?」ですが 、
IDE を直接つなぐことは出来ませんが 、 市販の 20G/30G-SCSI
HDD はつながりますし 、 起動ディスクにもなります 。
このようなドライブは 、HDD そのものは IDE で、IDE-SCSI 変換ボード
と言うものが載っていて 、 これで SCSI 機器に見えるようになって
います 。 この変換ボードはメーカーごとに異なり、私の知る限り 、
世間に 3 種類ありますが 、 よく使われているものでは I/O-DATA 製
よりメルコの方が素直で 、X68 でもすんなりつながります 。
(I/O のは Mach2p では大丈夫だが 、 内蔵 SCSI ではだめ。)
この変換ボードは(おそらく)容量には関係なく使えるので 、
将来のため 、 このようなドライブを確保=このボードを
確保しておくのが良いかと思われます 。
(ボードだけを買うことは 、 一般のルートでは不可 。)
ただし、使える容量は 2000M*9 パーティションまでで 、
GOVERHD で処理しておく必要があります 。
Human68K の SCSI の仕様には「トータル 16G まで」と
ありますが、実際にはそれは物理的な 1 ドライブで、
かつそのパーティションの先頭がその中に収まるという
意味のようです 。
ちなみに 、 拙作の FAT32 ツールが完成すれば 、30G を超える
ドライブでも全部使えるようになる ・・・ はずです (^_^)。
そうそう、IDE の制御コマンドを見る限り、IDE を直接つなぐこと
も不可能じゃないとは思うのですが 、X68 ではどこからそのポート
を取るかが問題でしょう 。
追記 :
ちょっとだけ値段の話をしておきましょうか 。
外付け 30G-SCSI が仮に 25000 円だとすると 、
その値段は 「安い」 といえます 。
30G-IDE+変換ボード+電源+筐体ですが、30G-IDE ドライブの
値段は調べてもらうとして、変換ボードは結構高いものなのです 。
LeDA さん、こんにちは。
大容量ハードディスクの解説ありがとうございます。
> このようなドライブは 、HDD そのものは IDE で、IDE-SCSI 変換ボード
> と言うものが載っていて 、 これで SCSI 機器に見えるようになって
> います 。 この変換ボードはメーカーごとに異なり、私の知る限り 、
> 世間に 3 種類ありますが 、 よく使われているものでは I/O-DATA 製
> よりメルコの方が素直で 、X68 でもすんなりつながります 。
>(I/O のは Mach2p では大丈夫だが 、 内蔵 SCSI ではだめ。)
IDEtoSCSI 変換ボードにはあまりよい印象をもっていない
のですが、ものにもよるのでしょうね。
普通の UltraSCSI でも Mach-2 と相性の悪いものがあったり
するので、具体的にどのドライブなら絶対に使えるのかが
わからないと、手を出しにくいところです。
IDEtoSCSI の仕様を含めた細かいスペックが公開されている
外付けドライブがあるとよいのですが。
また、現実問題として、パーティションの容量を大きく
できなければ、いずれドライブ名が足りなります。
大容量ドライブに対応したドライバが必要です。
こんばんわ。M.Suzuki です。
> そうそう、IDE の制御コマンドを見る限り、IDE を直接つなぐこと
> も不可能じゃないとは思うのですが、X68 ではどこからそのポート
> を取るかが問題でしょう。
これは前々から考えてました (笑)
実際問題、X68k では DMA を使う意味は無いので、CPU 転送になると思います。
そうすると数える程の I/O を接続できれば制御できる可能性が有りますね。
電気的特性を合わせれば SASI ポートとか使って接続できないかな・・・
> IDEtoSCSI の仕様を含めた細かいスペックが公開されている
> 外付けドライブがあるとよいのですが。
これは ・・・ 機密保持契約書を結ばないと仕様書はくれない
とは思います 。 私は仕事柄見てますが 。
> また、現実問題として、パーティションの容量を大きく
> できなければ、いずれドライブ名が足りなります。
> 大容量ドライブに対応したドライバが必要です。
そうですね。
次の次の公開時の FAT32 ツールではソース(の一部)を公開出来る
かもしれません。そのときはドライバー化 、 お願いします (^_^;)。
> そうすると数える程の I/O を接続できれば制御できる可能性が有りますね。
> 電気的特性を合わせれば SASI ポートとか使って接続できないかな・・・
今手元に仕様書がないので具体的なことはわかりませんが 、
可能かも知れません 。 しかしそうなると SASI 機種限定となるのが
つらいところ 。 あっ、SCSI 機種でも SASI 用ポートからアクセス
すればいけるのかな ?
> するので、具体的にどのドライブなら絶対に使えるのかが
> わからないと、手を出しにくいところです。
私の知る限り 、 メルコの変換ボードに対しては 、
カンタム LCT-15/20 の 30G
富士通 型番忘れた(最近の)30G
の IDE-HDD は問題ありません 。READ/WRITE/SEEK/READCAP だけの
テストですが 、4 日間連続テストにも耐えています 。
この組み合わせでの市販外付けドライブがあるかどうかは
わかりませんが 。
(と言うことは 、 当然自作したということ 。)
LeDA さん、こんにちは。
> > IDEtoSCSI の仕様を含めた細かいスペックが公開されている
> > 外付けドライブがあるとよいのですが。
>
> これは ・・・ 機密保持契約書を結ばないと仕様書はくれない
> とは思います 。 私は仕事柄見てますが 。
あ、やっぱり。
> > また、現実問題として、パーティションの容量を大きく
> > できなければ、いずれドライブ名が足りなります。
> > 大容量ドライブに対応したドライバが必要です。
>
> そうですね。
> 次の次の公開時の FAT32 ツールではソース(の一部)を公開出来る
> かもしれません。そのときはドライバー化 、 お願いします (^_^;)。
にゅ。体力に余裕のあるときに…。
(今はいっぱいいっぱいなの)
イケショップの通販で 1G SCSIHD を見つけました。(MAC 互換機の所)
今買わないともう無いかもしれないので早速注文しました。
はんかつさん、こんにちは。
> イケショップの通販で 1G SCSIHD を見つけました。(MAC 互換機の所)
> 今買わないともう無いかもしれないので早速注文しました。
X68000 にそのまま使える (と思われる) ハードディスクは
貴重ですよね。
かつて電話系の仕事をしてたのですが、その時の経験から。
ダイヤルパルスには、10pps と 20pps の 2 つが有って、信号が high と low の比率が決まってます。(もちろん信号時間もです)
で、ダイヤルパルスの場合、10pps の場合で high 状態が 30ms 程度、low 状態が 70ms 程度、
20pps だと high 状態が 15ms 程度、low 状態が 30ms 程度となっているので、
リアルタイムでない OS でソフト生成するのは信頼性に問題有るでしょうね。
番号の頭は大抵 0 なので、0 はたしか 10 パルス出してたはず (うろ覚え)。
10 パルスだと (15+30)×10 = 450ms。
Win のプリエンプション粒度は知らないけど、この期間にぶつかる可能性は結構高いのかも。
ここで、ミニマムポーズ (ダイヤルパルス間の最低時間) である 450ms(20pps 時) を越えると、
2 つのダイヤル番号に分離されてしまったりします。
なんか長くなりましたけど、非リアルタイム OS で制限時間の存在するハードを使用する場合は、
常にこの危険が有ると言うのは覚えておいた方が良いかも知れませんね。
M.Suzuki さん、こんにちは。
パルス方式の解説ありがとうございます。
> 20pps だと high 状態が 15ms 程度、low 状態が 30ms 程度となっているので、
> リアルタイムでない OS でソフト生成するのは信頼性に問題有るでしょうね。
私はミリ秒単位と聞くとかなり長いと感じてしまうのですが、
そうでもないかな。
そもそも何故そんな信用できない方法でタイミングを
管理しているのか謎ですが。
> 番号の頭は大抵 0 なので、0 はたしか 10 パルス出してたはず (うろ覚え)。
昔の黒電話は、指で回したダイヤルが一定の速度で元に
戻るときにパルスを作るような仕掛けになっていました。
あの仕掛けを考えた人は頭いいと思います。
数字が 1,2,…,9,0 の順番に並んでいたので、0 は 10 回ですね。
> なんか長くなりましたけど、非リアルタイム OS で制限時間の存在するハードを使用する場合は、
> 常にこの危険が有ると言うのは覚えておいた方が良いかも知れませんね。
周辺機器とかドライバを作る人は当然知っているはずですよね。
それをユーザが意識しなければいけないという状況は
かなり異常だと思います。
非リアルタイムなのにプロテクションができていなくて
簡単にハングアップするマルチタスク OS っていったい…。
ここで聞くのも何かもしれませんが ・・・
Human68K で VERIFY を ON にしたときは 、DOS コールレベル
(ということは fwrite() や fputs() も)で
書き込みを行っても勝手に VERIFY されるもんなのでしょうか 。
それとも COMMAND.X レベル (COPY コマンド) だけ ?
もし DOS コールレベルなら 、 今まで作ったツールの中で
自前で VERIFYG() 使ってフラグ読んで VERIFY 処理していたものが
軒並み無用になるので 。
これで処理速度2倍 !
例のもの作成中の疑問でした 。
LeDA さん、こんにちは。
> Human68K で VERIFY を ON にしたときは 、DOS コールレベル
>(ということは fwrite() や fputs() も)で
> 書き込みを行っても勝手に VERIFY されるもんなのでしょうか 。
> それとも COMMAND.X レベル (COPY コマンド) だけ ?
COMMAND.X の VERIFY コマンドは、DOS コールの VERIFY()
を使って Human68k の verify のモードを設定しています。
ですから、DOS コールレベルの書き込みに有効です。
C の fwrite() や fputs() だけでなく、DOS コールの DISKWRT()
などでも verify します。
Human68k の verify のモードについて少し解説します。
verify のモードは、アドレス $1C10 の 1 ワードにあります。
(0=OFF、0 以外 =ON)
CONFIG.SYS の VERIFY=ON と、DOS コールの VERIFY(1) は、
どちらでも、verify のモードが 1 に設定されます。
Human68k は、ブロックデバイスドライバおよび特殊デバイス
ドライバを書き込みコマンドで呼び出すときに、verify の
モードが 0 でなければ、verify ありのコマンドを使用します。
(ブロックデバイスならばコマンド $08→$09、
特殊デバイスならばコマンド番号の bit7 をセット)
実際に verify の作業 (書き込んだデータを読み出して比較する)
を行うのはデバイスドライバです。
060turbo.sys の内蔵の RAM ディスクドライバのように、
verify ありのコマンドで verify しないドライバもあります。
(RAM ディスクの verify はほとんど無意味です)
verify のモードのデフォルトは OFF です。
丁寧な解説ありがとうございます 。
これでファイルコピー周りで結構面倒だった
処理をさっぱりはずせます 。
もっとも、FAT32 の書き込みは OS 経由ではないので
自前ですが 、FAT32→FAT16/12 での FAT16/12 側の処理は
OS 任せなので 。
リンク集へ追加されたことにより、かなりの数の皆様に訪問いただきました。ありがとうございます。
結果的に1ヶ月間のアクセスカウント集計では過去2番目の上昇数になっておりました。
X68 系のページはロクな扱いになってませんが、下らない話を読みたくなりましたらまた足を運んでくださいまし。
でわでわ、おじゃまいたしましたぴょ (^^;
VFC-LINK さん、こんにちは。
> リンク集へ追加されたことにより、かなりの数の皆様に訪問いただきました。ありがとうございます。
> 結果的に1ヶ月間のアクセスカウント集計では過去2番目の上昇数になっておりました。
どういたしましてです。
こちらでも VFC-LINK さんのページからのリンクが
カウントされています。ありがとうございます。
> X68 系のページはロクな扱いになってませんが、下らない話を読みたくなりましたらまた足を運んでくださいまし。
「あの、素晴らしい をもう一度」の感想がありますよね。
このゲームのオープニングには、S44PLAY.X の再生コアが
使われています。
かまださん おひさしぶりです。
しばらく ROM しておりましたが、呼ばれたような気がして出て来ました。
今のところハンドスプリング社のバイザープラチナとバイザープリズム
以外は、DragonBall-EZ なので X68K で鍛えたテクニックを発揮できる
箱庭として使えると思われます。
はんかつさん、こんにちは。
> しばらく ROM しておりましたが、呼ばれたような気がして出て来ました。
ほほほ。お呼びでございます。
> 今のところハンドスプリング社のバイザープラチナとバイザープリズム
> 以外は、DragonBall-EZ なので X68K で鍛えたテクニックを発揮できる
> 箱庭として使えると思われます。
ColdFire ではなくて DragonBall-EZ を搭載している Palm なら
68EC000 コアなので大丈夫ですね。
フォローありがとうございます。
鎌田さん、こんばんは&ただいまです。
スノボーは、大雪で交通マヒのため到着が 12 時間ほどおくれてしまい
結局滑ったのは2時間ほどでした。がっくし(><)
逆ポーランド記法の解説ありがとうございました。
昔の Oh!X でも取り上げられていた記憶があるのですが、
ちゃんと理解してなかったので・・。やっと分かりました。
新しい「3 7 7 9」問題ですが、
10 だけじゃなくて 1~30 を作るという設定がおもしろいです。
さっそくトライしました。
できるだけ数字の合体を使わない方向でトライしましたが
10, 16, 21, 25 だけは数字の合体を使用しないと無理でした。
この問題を解くプログラムってどんな感じのものなのか
想像つかないです。逆ポーランド記法を使うんでしょうか?
M.Hayashi さん、こんばんは&おかえりなさいです。
> スノボーは、大雪で交通マヒのため到着が 12 時間ほどおくれてしまい
> 結局滑ったのは2時間ほどでした。がっくし(><)
それは大変&残念でしたね。雪、降り過ぎ。
> 逆ポーランド記法の解説ありがとうございました。
> 昔の Oh!X でも取り上げられていた記憶があるのですが、
> ちゃんと理解してなかったので・・。やっと分かりました。
どういたしまして。
逆ポーランド記法はコンピュータで数式を扱う処理系を作る
ときに必ずといってよいほどよく出てくるものです。
(と言いつつ KT.x の calc では使っていなかったりしますが)
> 新しい「3 7 7 9」問題ですが、
> 10 だけじゃなくて 1~30 を作るという設定がおもしろいです。
1 つで 30 倍楽しめるのではないかと。(笑)
30 までにしたのは、「3,7,7,9 では 31 ができなかった」という
それだけの理由だったりします。
> さっそくトライしました。
> できるだけ数字の合体を使わない方向でトライしましたが
> 10, 16, 21, 25 だけは数字の合体を使用しないと無理でした。
お見事。
その 4 つだけ、数字を合体させないとできません。
> この問題を解くプログラムってどんな感じのものなのか
> 想像つかないです。逆ポーランド記法を使うんでしょうか?
この問題は規模が小さいので、わりと安直な方法で解けます。
数字を a,b,c,d、演算子を X,Y,Z とすると、この問題の式は
次の 5 つのパターンに分類できます。(右側は逆ポーランド記法)
((a X b) Y c) Z d…a b X c Y d Z
(a X b) Z (c Y d)…a b X c d Y Z
(a Y (b X c)) Z d…a b c X Y d Z
a Z ((b X c) Y d)…a b c X d Y Z
a Z (b Y (c X d))…a b c d X Y Z
ここまでわかればあとは数字と演算子をあらゆる組み合わせで
数式に埋め込んで計算して答えに合う数式を見つけるだけです。
数字の合体も演算子として扱いますが、置ける場所が限られる
ので注意が必要です。
同一解の排除をまじめにやろうとすると面倒なことになります。
本人は、(あせりながら)感激、感謝状態です。
報告:
その1.ご指摘の件、修正しました。
その2.(一応な)バナーを作成しておきました。
パスは、
<http://www.h3.dion.ne.jp/~haghag/cg/banner.gif>
です。
はぐれこかとりすさん、こんにちは。
> 本人は、(あせりながら)感激、感謝状態です。
どういたしましてです。
ホームページの作成、がんばってください。
> その2.(一応な)バナーを作成しておきました。
http://www.h3.dion.ne.jp/~haghag/cg/banner.gif
ですね。リンク集に貼り付けておきました。
(この掲示板の自動リンク機能はあまり賢くないらしい)