Mona

MonaNewでの不具合

MonaNew上でMonaFormsのGUIシェルを起動させるとなぜか何も表示されません。先週はずっと原因を探っていたのですが、CUIシェルのファイル名が何時の間にかSHELL.EX5に代わっていて、そのせいでGUIシェルと競合していました。GUIシェルのほうをMSHELL.EX5に変…

Mona 0.3.0alpha5 リリース

Mona 0.3.0alpha5をリリースしました。 大きな変更点は以下の通りです。 PageManagerから不要処理を削除しました。 ProcessManagerのメモリ解放バグを修正しました。 CD/FDブートを自動判別機能を追加しました。 スタック自動伸張に対応しました。スタックサ…

MonADK 0.3.0alpha5 for win32 リリース

Mona0.3.0alpha5のリリースが近いこともあって先行リリースです。アプリも増えたし、ライブラリも増えたし、ライブラリのサイズも大きくなったし、gccの主流は3.4になっちゃったしでなるべくコンパクトを目指してきたMonADKも危機的状況になってきました。ち…

マルチスレッドの実装

Mona には syscall_mthread_create() と syscall_mthread_join() というスレッド作成用のシステムコールがありますが、引数に関数ポインターを取るため C++ で使うのは結構面倒くさいです。というわけでJava風のスレッドクラスで隠蔽してみました。 #include <monapi.h></monapi.h>…

動画キターー!!

Yui_Nekoさんに提供していただいたもなぺぐをmonapiを使うように修正してみました。mpeg1の動画が普通に再生できました。mpeg1の動画つきでCD-Rに焼けば、パソコンにいれて起動するだけで再生できる環境になりますね。というか昔のタウンズみたいにゲームとO…

InfoNES for Mona

以前移植をはじめたものの、起動すらしないエラーで頓挫していたのですが、最近のさまざまな仕様変更により起動するようになりました。最近のさまざまなアプリの移植を見るに、Monaは軽量な(なんといってもFD1枚!)アプリケーションプラットフォームとして…

はぁ・・

またBayGUIが動かなくなっている模様・・。

あなたは誰ですか?

JavaとC♯にはオブジェクトの型を調べる演算子があります。Javaでは"instanceof"、C♯では"is"という演算子がこれに該当します。例えばこのようにして使います。 void add(Component comp) { if (comp instanceof Label) { Label l = (Label)comp; : } else if…

みくびっていました orz

BayGUIリライトのためにとりあえずデバッグの楽なSDLを使っているのですが、NOIZ2BGが思ったより早くなかったのでこんなもんか・・とみくびっていました。BayGUIではダブルバッファリングを行っていまして、SDL版ではSDL_UpdateRectという関数でスクリーンに…

BayGUIリライト[5]

日本語が出るようになりました。doxygenドキュメントも更新しました。http://bayside.upper.jp/upload/baygui_api/

BayGUIリライト[4]

とりあえずお約束のメガデモを動かしてみました。noiz2bgというアプリで、MONAにも移植されています。思ったより遅かったです。体感5倍といったのは嘘でした。ごめんなさい。 #ifdef SDL static unsigned int sdl_timer_callback (unsigned int interval, vo…

BayGUIリライト[3]

基本的に1アプリ1ウィンドウのつもりですが、ダイアログウィンドウはあると便利なので最初から考慮に入れることにします。 #include "baygui.h" static unsigned int color4bit[16] = { 0xFF000000, 0xFF800000, 0xFF008000, 0xFF808000, 0xFF000080, 0xFF…

BayGUIリライト[2]

デバッグ時はWindows上でいろいろできると便利です。クロスプラットフォームなGUIを使うならSDLが便利なので、cygwinでSDLを使えるようにしてみます。 mingwをインストール gccは3.3をインストール gcc3.4.1だと-mno-cygwinがうまく動かない SDLは最新版の1.…

BayGUIリライト作戦

Mona本のおかげかBayGUIで遊んでくださる方が増えて大変うれしいです。遊んでくれた方から貴重な不具合指摘や機能要望等があがっており、それらを盛り込んだリライトを考えています。 イベントリスナーモデルの導入 ダイアログウィンドウの導入 細かい不具合…

キターーーー!!!!

MONA〜2ちゃんねる発祥の手作りOS本日発売されたid:higeponによるMonaOSの本です。かなり初期の段階で原稿をチェックしました。その頃から40%くらい加筆されている感じです(笑)。C++の知識がある方ならすらーっと読めるでしょう。あんまり書いたら読む楽…

MonADKリリース

しばらくリリースしてなかったのでMonaADKをリリースしました。Mona0.3.0alpha5相当の内容に刷新されています。CVSに入っているMonaはCDブート前提なので、Monaで使っているfatwriteというツールを使うためにはFDブート版Monaをまずは作らなければなりません…

OSASKがMonaで動いた!!

こちら です。qemuまたは実機で実行することができます。実機で実行する際は、CD-Rに焼く必要があります。OSASK向けの面白いアプリを実行できるのは大変魅力です。

スラドに再登場

http://slashdot.jp/article.pl?sid=05/03/17/1413259あまりに早すぎです。せめてα5かα6が出るくらいまでは待ってほしかったなぁ・・。FDを前提にしているBayGUIでは、ランチャーにへぇボタン・ぬるぽボタンが出ない、シェルのコマンドがボロボロという悲惨…

某アニメのエフェクト

新BayGUIになってから手を入れてなかった某アプリを刷新してみました。非常に単純なロジックですが、倍角文字を表示させています。これがなかなかいい感じです。N倍角文字表示だけならBayGUIに組み込んでみてもいいかも。要望次第ですけど。

スクロールバー

CVSに入りました。リストボックスにくっついているように見えますが、実際には連動していません(笑)いまのところは部品単体での提供です。

スクロールバー

作ってみました。かっこいい!Windowsの野暮さが目立ちます。とりあえずマウスドラッグでの操作は面倒そうなので、矢印キーのクリックのみに対応する予定です。

BeOS

"Programming the Be Operating System" という本があります。オライリーで売っていて、インターネットからダウンロードすることができます。1章のはじめだけ読んでみました。BeOSのAPIは過去のしがらみがないおかげで非常に綺麗なクラス構造になっていまし…

ランチャー刷新

ようやくシェルが片付いたのでランチャーのほうを刷新しました。 最初は全画面透明ウィンドウを作ってその上と下にメニューを描画させていたんですが、これだとちらつくし、メモリは食うし、遅いしでいいことが全然ないので次善の策として壁紙に直接描いちゃ…

C♯さん

最近C♯さんが積極的にコミットしているようです。MonaFormsにキーサポートを盛り込んでくれたそうです。BayGUIもGUIサーバーと通信しているのでデグレードがないかこれからチェックします。C♯さんがBayGUIのことまで考えてくれていることを期待しつつ。

GUIシェル(4)

全体的にリファクタリング&デバッグ。大体できたので、もういじるのはやめます。

GUIシェル(3)

品質向上したコマンド cat コマンド履歴 大体の品質は確保できた気がしますが、コマンド解析部分に無駄が多いので、リファクタリングでバイナリーサイズ30%削減を目指します。 C#さんのおかげでディスクの空き容量が320KBに増えました。そのうち34KBは私…

GUIシェル(2)

追加されたコマンド cd touch 大幅に品質向上したコード exec ついでにString::endsWith()がバグっていたのを発見 orz

GUIシェル キターーー

現状サポートしている内部コマンドです。 help ls/dir cat/type date uname/ver clear/cls ps kill exec 当然日本語の表示にも対応しています。

GUIビルダー

一応一通りの機能を実装完了しました。キーボードショートカットにも対応してだいぶWindowsアプリっぽくなりました。 all: javac -d . src/monaforms/*.java # javac -d . src/baygui/*.java run: java guibuilder.Main javadoc: -mkdir doc javadoc -d ./do…

GUIビルダー

ビジネスロジックが結構実装できました。ちゃんとダイアログも出るようになりました。あとは部品追加機能だけです。 ファーストバージョンではファイルの読み込みは実装する予定はないので、面倒ですが毎回画面を作ってください(シリアライズは失敗しました…