Archive for the ‘OSAkkie’ Category

またまた半年振りに…

金曜日, 9月 12th, 2008

OSC2008-Fallも近づいてきたので、そろそろ何かいじります。

本当は読書2週目をしようと思っていたのですが、チキンなのでやめました(またか。

で、前回いじっていたディレクトリ対応したかった件は、例によってコードを忘れているので一旦捨てました。むしろ、OS全体のコードを忘れているかもなので、OSAkkieごと一旦捨てr(ry

今日やったこと
・メモリリーク対策やりなおし(ディレクトリ対応のやりかけと共にロールバックしたため)
・ナオミさんスタートメニュー廃止(!!!)

うん、ナオミさんメニュー邪魔だよね!システムにくっついている分、なおさら邪魔!ランチャーはアプリケーションのレベルで実装してみます。

で、いつも掲げるだけの目標は
・非矩形ウィンドウの実装(ランチャーやりたいので)
・シリアル対応

の2つです。

仕事でシリアルコンソールを使うことが増えてきたのですが、これOSAkkieで出来たらウマいなぁと思ったのです。あーでも、ML110/115で起動するんだっけ?OSAkkieって。

メモリリーク2点修正

日曜日, 3月 9th, 2008

 意外とすぐに修正できました。修正点は次の2つ。

 ・コンソールウィンドウをマウスで閉じると、メモリ開放がまったく行われない不具合を修正。
 ・コマンド履歴呼び出し分のメモリ開放が行われていなかった不具合を修正。

 コマンド履歴のはよしとして、なぜマウスでコンソールを閉じたときのメモリ開放処理が抜けていたのか……orz

 さて、ディレクトリ対応の続き行ってみよう?。

ディレクトリ表示のアレ

日曜日, 3月 9th, 2008

 最近は仕事に追われてさっぱり手をつけていなかったのですが、今日は久々にソースいじってみたいと思いますー。

 さて、ディレクトリ読み込み対応は、サブディレクトリの表示に、多分完全対応しました。YATTA!!!後は、ディレクトリの中のファイルを読み込みできるように改造するのみです。

 で、ここで 一つ重大な問題が発覚。なんと、コンソールを開いて閉じると、メモリの残量が減ってしまうことがわかりました。テラメモリリークwwwwwwwこれはまずすぎるので、優先度高で修正しなければ。

 と言うわけで、今日のソースいじりはメモリリーク修正になりそうです。

dirコマンド拡張

木曜日, 1月 31st, 2008

 ぼちぼち復活するために、カンタンな部分をいじるところから再スタート。と言うわけで、dirコマンドをいじってみました。

 その1:1画面ごとに止まるようになりました。本当はオプション指定でこうなると良いのですが、まぁ手抜きで(ぉ。
dirコマンド拡張1

 その2:ディレクトリも表示するようにしてみました。将来的にはというか、次の課題として、このディレクトリの中身も見れたら良いなぁと思っています。
dirコマンド拡張2
 で、みくみくディレクトリって何ですか/(^o^)\

マウスのスクロール

火曜日, 7月 24th, 2007

 ご無沙汰してます。OSC2007-Kansaiが終わって、色々といい刺激を受けたので、少しずつ開発を再開したいと思います。

 さて、今日は、uchanのBitNOSでも実装されている「スクロールマウス対応」をしてみました。はりぼて友の会のAdbance/mwheelと「B級なホイールマウスの研究(ミドルウェア編)」というサイトを参考に、mouce.cに少しコードを書き加えるだけで、見事にスクロール情報が取れるようになりました。これは感激。

 しかし、まだ情報を取れただけなので、これを利用してコンソールをスクロールできるように改良していきます。スクロールバーもつけられたらいいなぁ……。

 ソースはWikiに置くので、良ければ参考にしてください。

コンソールウィンドウを大きくしてみた

日曜日, 1月 28th, 2007

 なんだか週一ペースになってきましたOSAkkie開発日誌です。

 さて、OSAkkieのコンソールウィンドウが少し大きくなりました。百聞は一見にしかず、画像でサイズを比較してみました。

OSAkkie Screenshot

 FDCもテストの合間を縫ってチンタラ進行中です。とりあえず、dirコマンドが打てるようになりました!後は勢いに乗ってfile.cの読み込み回りを改造するだけです。

近況報告

土曜日, 1月 6th, 2007

 そろそろリリースしようかと思っていたのですが、ふと思い立ってキーボードのメイク・ブレイクの取得実装と、e0拡張系のやり直しをはじめたので、リリースはもう少し後になりそうです。今は、メイク・ブレイクの実装でできたところです。これでBonnoの鐘つきもリアルにできます(笑)。

 キーコード資料を漁っていたら、すごくいいページを発見!OS-Wikiには無い情報もいっぱいで、「読み捨てるべき」とされていたe0 2a, e0 aaなどのキーの解説もされていました(ちなみに、フェイクシフトというもので、テンキーのNumLockがOFFの時に送られるものらしいです)。
URL: http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html

— そのほかの開発 —
・メニューアプリ、複数ページ表示対応
 左右キーでページ切り替えができるようになりました。どれだけアプリを追加してもプログラムに変更はいりません。しかし、キーコード変更中なので、まったく使い物にならなくなっています。
・OSAkkieミニフォントをちょっとだけ修正
 「2」の文字を手直ししました。

シート検索をもっと早く

木曜日, 12月 28th, 2006

 bootpack.cのシートを探す関数(自分で関数化)を眺めていて気が付いたのですが、shtctlのmapを使って調べたら、ループで1つずつ調べるよりも早くシートを探せそうだなぁと思ったんです。
 早速書いて(くだらない所でズッコケて1時間ほど悩みましたが)実行!
————————————————
 int sid = shtctl->map[my * shtctl->xsize + mx

画像データ転送関数

金曜日, 12月 22nd, 2006

 画像データを転送する関数を作りました。画像データとは、マウスカーソルとかクローズボタンみたいなアレです。

 アルファベットのa?pをパレット番号0?15に置き換えて描画するようにしたので、画像データもすべて作り直しました。ちなみに、OSAkkieカラーはrとsで対応していますし、透過色は’.’、何も転送しない場合は’ ‘などの適当な文字を入れればいいことになっています。

 これのおかげで、50.5KB前後あったosakkie.sysが49.1KBにまで減りました。ソースも超スッキリになりましたよ?。多色対応でサイズがぶくぶく増える中で、似たような処理をまとめていくのは重要だなぁと思いました。

 2次元配列になっている画像データの受け渡しに苦労しました。ポインタでやり取りする形で作ったものの、うまく画像が表示されなくて、2次元配列のまま受け渡しする方法を考えてみたり(これは色々決まりごとがあってダメだった)、秘儀・適当ポインタ(でたらめに色々なポインタを入れてみる技)を試したり、最後の手段でCSVVの時のように構造体でくるんでしまおうか考えたりしていましたが、結局、データの受け渡しと全然関係ないところを書き間違えていて、最初に作ったポインタ形でうまく画像が表示されました……。何が言いたいかというと、CSVVではできなかった2次元配列の関数間の受け渡しができるようになった、ということなのです。これもOS自作入門のおかげなのです!

 さて、画像データ転送がうまくできたので、新たに画像を一つ増やして、OSAkkie三大野望の一つを実現しようかと思っています。そして、osakkie.sysのサイズがまた50KBを超える……。

画像読み込み・表示API

日曜日, 12月 17th, 2006

 今日は画像読み込み・表示のためのAPIを実装してみました。ついでに、壁紙表示でも同じ関数を呼び出すようにしたので、経済的になっています(?)。それで、APIで画像を表示させる手順はこんな感じです。
 int pic,