[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 3420] Daniel0.



  こんばんは、川合です。

  OSASKのベータ版のリリースです。が、コードネームの付け方を変え
ることにしました。

  まず、今日リリースされたベータ版は以下の通りです。

・daniel0a : IBM PC/AT互換機版
・daniel0t : FM-TOWNS版

  この2つを合わせて"Daniel0"と呼びます。それで、今後のコードネー
ムは以下の通りです。

  OSASK ver.2.3 : Daniel
  OSASK ver.2.4 : Pete
  OSASK ver.2.5 : Ricky
  OSASK ver.2.6 : Chuck
  OSASK ver.2.7 : Miles
  OSASK ver.2.8 : Belle
    (後略)

---

  さてそのDaniel0ですが、改良点は以下の通りです。

1.カラーフォントまわりのバグ修正
2.[OSASK 3342]で予告した文字表示APIの拡張

  1.については特にいうことはありません。これでやっとintrob09の
hlfcolc0.cがテストできるというだけです。余談ですが、このhlfcolc0
はぜひともかりんさんに見てもらいたい内容になっています(笑)。

  2.ついてですが、かなり大規模な改修をしまして、当初の予定より
もパワーアップしています。きっとI.Tak.さんも満足していただけるで
しょう。・・・早速詳細を書いておきます。

・0x0040 : テキストボックスに文字を表示するファンクション

    optは4バイトから構成され、それぞれopt0, opt1, opt2, opt3と名
  づけることができる。opt0には、backcolor有効bitやカラーフォント
  利用bitなどがある。opt1はoptのbit8〜bit15で構成され、ここにス
  トリング格納形式に関するオプションが集中している。

  (1)opt1 == 0x00 : 従来どおり(baseなし、即値形式、int)
     これはver.2.2までの形式を意味する。だから詳しく説明しない。

  (2)opt1 == 0x10 : baseあり、即値形式、char
     新しい形式である。backcolorフィールドとlenフィールドの間に
   4バイトのbaseフィールドというものがあり、この値はキャラクター
   コードのベース値として使われる。そしてストリング部分は符号な
   しcharの配列であるとみなされる。ストリングの長さが4の倍数でな
   いときは末尾に0をつめてアラインすること。

  (3)opt1 == 0x40 : baseなし、farポインタ形式、int
     lenフィールドの直後に48bitポインタを置く形式で、その後ろの2
   バイトは0でパディングする。文字列はこのポインタから参照する。

  (4)opt1 == 0x50 : baseあり、farポインタ形式、char
     (2)と(3)の組み合わせである。

  (2)や(4)は、何かにつけて4バイトコードを扱わされる不便さを解消
させる目的でついています(結局内部で4バイトに拡張されるので、コ
ードがコンパクトになる以外の差異はありません)。これを利用するこ
とで多くのプログラムはさらにコンパクト化できるでしょう。

  この(4)を使うとlib_putstring_ASCII()も簡略化できるので、さっそ
くgglib09aをベータリリースします。

  またteditc0dにバグを見つけました。ビュワーモードでCtrl+Sを2度
押すと「真っ白」なってしまうというひどいバグです。ということで、
teditc0eを一般公開しました。これはgg00lib8を使ってビルドしたので
OSASK ver.2.2でも使えます。

  なお、Danielはもう一回バージョンアップする予定です。ファイルシ
ステムがメモリを浪費しているので、それを直したいんです。

  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/