[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 1659] ponyets5, toledo5.
- Subject: [OSASK 1659] ponyets5, toledo5.
- From: Hidemi KAWAI <kawai !Atmark! imasy.org>
- Date: Sat, 21 Apr 2001 08:45:15 -0000
こんばんは、川合です。
次のバージョンへ向けての開発を進めていたのですが、ひと区切りつ
いたのでベータ公開することにします。フライングにしては早すぎるの
で、一応ponyets5, toledo5と名づけました(笑)。
主な特徴は以下の通りです。
・もうたった8つとは言わせません!・・・いっぱいマルチタスクでき
ます。24タスクまでOKです。
・起動速度がUP!・・・画面初期化をFDDアクセスと並行してできるよ
うにしています。
・メモリ管理に手間取って、20bitメモリがちょっと減少しています。
・隠しコマンドを2つ追加(tasklistとsendsignalU)。詳細は後述。
・モジュールアクセスのためのサービスを追加。ディレクトリ一覧と、
モジュールの属性、モジュールのサイズの取得ができるようになりま
した。・・・詳しくは、filecp02.lzh内のソースを見てください。
---
補足です。
・今回追加したモジュールアクセスのためのサービスは暫定的なものな
ので、仕様が変更される可能性があります。ご了承ください。
・モジュールタイプ0はディレクトリを意味しますが、ディレクトリに
対してサイズを要求してはいけません。ディレクトリにはモジュール
サイズ属性がないんです。サイズを要求できるのは、一般的なモジュ
ールに対してだけです。
・filec005.binを実行するとタスクディレクトリ内のモジュールが見え
ます。といっても、stack3とstack0しかありませんが。stack0に対し
ても自由にアクセスできますが、これはセキュリティーサポートがで
きていないからです。将来のバージョンでは、stack0へのアクセスは
制限されます(それでも、シェルが許可すれば自由にアクセスできま
す)。
・隠しコマンドのうち、tasklistは簡単です。パラメーターなしです。
起動すると、アプリケーションタスク番号とアプリケーションファイ
ル名がずらーっとでてきます。
・sendsignalUは2つのパラメーターが必要です。最初の一つは、タスク
番号です。tasklistで確認した値を書いてください。次の一つは、シ
グナル番号です。・・・このコマンドは、指定されたタスクに指定さ
れたシグナルを送ります。
---
sendsignalUの意義を説明させてください。
まずmove2を起動して、tasklistでそのタスク番号を調べてください
。それで、そのmove2に対して、シグナル4を送ってください。つまり、
poko>sendsignalU 6 4
などとするわけです。そうすると、move2内の丸が左に動くはずです。
4〜7のシグナルを送ることで、move2を自由にコントロールできます
。・・・こんなことをするよりも、move2をアクティブにしてカーソル
キーを直接入力した方が簡単です。しかし、これは意義のあることです
。
シグナル4はカーソルの左を押した時に送信されますが、なにもカー
ソルの左を押さずとも送信できるわけです。この内容をスクリプトに
して順次送信すれば、複雑な踊りをさせることもできます。
OSASKアプリケーション規格「ぐいぐい00」では、ほとんどすべての
入力情報がシグナルでやり取りされます。これを自由に他のタスクが制
御できるとしたら、どうでしょう。キー入力だけではなく、タイマーな
ども外部から制御できます(今はタイマーシグナルを送るとタイマーの
設定がおかしくなるのでやめてください)。
今回の例では、カーソルキーも効いたままになっていますが、将来は
完全にキーボードから切り離すこともできるでしょう。そうすれば、「
踊り」が乱れることはありません。また、シェル以外のタスクからシグ
ナルを与えることもできるようになるでしょう。そうすれば、アプリケ
ーションがアプリケーションをコントロールできます。
move2にとって、シグナル4を受信することは、「←」が押されたこと
を意味すると考えることはできます。しかし、僕はそのように解釈しま
せん。なぜなら、今回のように「←」が押されなくてもシグナルが来る
からです。シグナル4を受信するということは、純粋に、丸を左に動か
して欲しいという外部からの要求なんです。この要求はキーを入力した
せいで来たのかもしれません。他のアプリケーションからの要求なのか
もしれません。
OSASKアプリにとって、キーバインドの善し悪しはほとんど無意味で
す。そんなものはシェルがアプリごとに個別に設定できますから。1つ
のキーを押すだけで複数のシグナルを発するようにもできるでしょう。
GUIアプリケーションに対するバッチファイルみたいなこともできるで
しょう。他のタスクに制御させれば、さらに複雑なこともできるでしょ
う。そういう可能性の示唆が、このsendsignalUには含まれているんで
す。
それでは。
--
川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/