[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/