Miscと言うカテゴリを追加しました。どのカテゴリにも入れにくい記事はこのカテゴリに放り込みますね。
さて、今日はOSAkkieのフロッピーラベルを作りました。またしてもスクリーンショット風です。かっこいいでしょ?!
なんだか週一ペースになってきましたOSAkkie開発日誌です。
さて、OSAkkieのコンソールウィンドウが少し大きくなりました。百聞は一見にしかず、画像でサイズを比較してみました。
FDCもテストの合間を縫ってチンタラ進行中です。とりあえず、dirコマンドが打てるようになりました!後は勢いに乗ってfile.cの読み込み回りを改造するだけです。
また間があいてしまいましたが、まだまだFDCがんばり中です。
昨日、ディスク読み込みがやっとまともにできるようになりました!しかし、速度が妙に遅いのです。起動時のシリンダ移動の音の感覚を1とすると、OSAkkieのFDCは13ぐらいです。うううむ、なんだこの差は……。
今日は読み込み部分を別関数に分けて、同時に、書き込み関数も後から書きやすいようにしてみました。
あとは実際に読み込んで使えるようにするだけなのです!うぉぉぉぉキタァァァ!!!……しかし、どうやったらいいのでしょうか。・゚・(ノД`)・゚・。
話は変わって、WikiにOSAkkie改造部分の解説を載せました。今日は、IPL改造についてと、フォントの自作方法についての2つを書きました。あと、はりぼてOS開発のTipsと、ミニ掲示板(impressions)も設置しました。
前回から間があいてしまいましたが、久々に報告?。
ただいま、読み込み部分を実装中です。しかし、どうしてもコマンド実行が成功しません。うーむ。なぜだろう。
ちょっとやっては脱線、またちょっとやっては脱線……といった調子になってしまっているもよくないですよね?。ううむ。
今日はなんだかいろいろやりましたよ?。
・FDCにコマンドを送る関数を作りました。
→ソースの見やすさがアップしてぐらいです(笑)。
・fifoバッファ整理
→タスク間のやり取りと、タイマ用に1コ。割り込み用に1コ。
・コマンドの連続送信ができるようになりました。
・FDDモーターの自動OFFが可能になりました。
……と、だいぶイイカンジになってまいりました!ソースコードをOSAkkieWikiにアップしたので、危険を覚悟で動かしてみたい方はどうぞ(PCとかFDDが壊れても責任は負いませんよ!)。
明日の目標は……、そろそろ読み込みとかやってもいいのかな?
今日は、リザルトステータスの受け取りをしてみました。シリンダ50にシークした後にリザルトステータスを取得すると、無事にコマンドが終了して、現在地50シリンダという風に返ってきます。
そして、OSAkkieWikiの[[tmp/FDC]]にコードを載せてみました。ただし、実行は危険ですのでおやめください。まぁ、これだけじゃ動かないですけどね(割り込みの許可とか)。
明日は、うーん、何やろう?
今日は、モーターの自動ON,OFFができるようになりました。それだけです。モーター制御だけにFIFOとタイマーを用意してみました。
次の目標は、コマンド08「割り込み状態の取得」かなぁと思うのですが、どう取得していいものやら、検討もつきません。
advance/FDCのほかに資料を探してみても、さっぱり見つからず……。こうなったら、OSASKのFDCドライバのソース(ASKAで書かれていた)を読むしかないのかぁ。
壁は高いぞFDC……。
Ver.0.1.04をリリースして一区切りできたので、FDC実装に挑戦します!
advance/FDCのページはまだ書きかけなので、IRCで質問しながら、カンで進めています。今日は、右Shiftキーでモーターを回転させて、F12キーでシークさせて、右Ctrlキーでモーターを停止させるところまで作りました。
FDC開発で注意すべき点は、色々あった気がするけど、モーターの寿命について。急激にON/OFFを繰り返すとモーターに大ダメージ!だそうです。ふむふむ。
今日つまづいた所は主に、タスクを作るところ、割り込みの許可設定!しばらくいじっていないところは忘れちゃいますね……。タスクの作り方はコンソールタスクを作るところを参考にするといいです。割り込みの許可設定は、bootpack.cのHariMainの中にある「io_out8(PIC0_IMR, 0xd8
OSAkkie Ver.0.1.04をリリースしました。
・カーソルやナオミさんなどの画像を転送するための関数を作成。
・ウィンドウの最小化に対応。
・IPLをシリンダ自動調節型に改良。
・時刻の取得(RTC)に対応。
・clockコマンドを実装。
・メニューアプリが複数ページ切り替えに対応。
・OSAkkieミニフォントの文字を修正
・アプリケーションからのe0拡張キーの取得に対応。
・アプリケーション「1line」「clock」を追加。
そろそろリリースしようかと思っていたのですが、ふと思い立ってキーボードのメイク・ブレイクの取得実装と、e0拡張系のやり直しをはじめたので、リリースはもう少し後になりそうです。今は、メイク・ブレイクの実装でできたところです。これでBonnoの鐘つきもリアルにできます(笑)。
キーコード資料を漁っていたら、すごくいいページを発見!OS-Wikiには無い情報もいっぱいで、「読み捨てるべき」とされていたe0 2a, e0 aaなどのキーの解説もされていました(ちなみに、フェイクシフトというもので、テンキーのNumLockがOFFの時に送られるものらしいです)。
URL: http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html
— そのほかの開発 —
・メニューアプリ、複数ページ表示対応
左右キーでページ切り替えができるようになりました。どれだけアプリを追加してもプログラムに変更はいりません。しかし、キーコード変更中なので、まったく使い物にならなくなっています。
・OSAkkieミニフォントをちょっとだけ修正
「2」の文字を手直ししました。