[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[OSASK 00107] abcdm000.
- From: Hidemi KAWAI <kawai !Atmark! osask.jp>
- Date: Mon, 05 May 2008 14:18:42 +0900
こんにちは、川合です。
abcdm000をリリースしました。efg01のMonaOS版です。
http://osask.jp/files/
説明はいつも通りドキュメントの丸写しで。
-------------------------------------------------------------------------------
・abcdm000アーカイブについて 2008.05.05 川合秀実
このソフトウェアはバイナリもソースもドキュメントもすべて川合に著作権があり、
ライセンスはKL-01です。
この中には5つのソフトウェアが入っています。
---
・abcdm000について
abcdmというのは開発コードネームで、本当の名前はefg01といいます。これは「
Executer For Guigui01」の略で、要するに「ぐいぐい01」のアプリを実行するため
のソフトウェアです。「ぐいぐい01」はOSASK-HBなどでサポートされる予定の、OSASK
の新アプリ形式です。
abcdmはefg01のMonaOS版で、つまりMonaOS上でOSASKアプリを実行できるのです。
abcdというコードネームはefg01という名前から連想して決めました。深い意味はあり
ません。
使い方は、 efg01 /apps/hellok0.g01 などとするだけです。これでhellok0.g01とい
うアプリが実行されます。
APIの実装度は、Windows版であるabcdw003相当になっています。abcdw003は
2008.05.05時点での最新版です。
ソースについて:tek.cppを適当に作ってみた範囲では、どうも不可解な現象を克服
することができませんでした。そこでabcdw003でtek.gasをmakeし、そのtek.gasを使っ
てみたところ、一発で問題は解決しました。g++のバージョンの問題なのか、C++化の影
響なのか、まあよく分からないのですが、とりあえずうまくいったのでこれで良しとし
ています。そんなわけで、もし.gasではないソースを読みたいときは、win32版のソー
スをあたってください。
---
・hellok01について
ただコンソールに「hello, world」と表示するだけのサンプルアプリです。この手の
プログラムが何バイトで書けるのかを確認するために作りました。これは初期の頃にハ
ンドアセンブルで作ったバイナリなので、ソースが存在しません。
結局27バイトになりました。これは32ビットプログラムでの実装例としては、OSを問
わず世界最小です。
---
・calc0について
これは「30日でできる!OS自作入門」内で出てくるコマンドライン計算機を、「ぐい
ぐい01」に移植したものです。整数の加減乗除ができます。カッコも使えます。
>efg01 calc0.g01 2+3*4
のように使います(コマンドライン電卓です)。MonaOS版では.g01ファイルのパスをフ
ルパスで書かなければいけないので注意してください。
ソースプログラムはabcdw003に同梱されています。
---
・pi0について
FPU計算ももちろんできるということをテストするために作りました。円周率を求め
ます。ソースは
http://hrb.osask.jp/wiki/?advance/FPU
から持ってきました。api_putchar()→g01_putc()しています。そのページにあるよう
に、このプログラムでは3.1415926までしか一致しません。しかも計算時間は結構かか
ります。少しでも速く実行させたい人は、実機上でMonaOSを動かすか、もしくは後述の
abcdw003(efg01.exe)を使うといいと思います。
このプログラムは242バイトなのですが、実はオリジナルのpi.hrbは229バイトです。
どうやらこのプログラムでサイズ勝負すると「ぐいぐい01」の負けのようです。他の比
較では全部勝っているのですが・・・。アプリのサイズが小さくなるようにAPIを再設
計したにもかかわらず、初心者向け教材用OSのAPIに負けるなんて、たとえレアケース
だとしてもちょっとくやしいです。
ソースプログラムはabcdw003に同梱されています。
---
・abcdw003
Windows版のefg01です。使い方はabcdm000と同じです。
ソースプログラムはabcdw003に同梱されています。
---
・謝辞
abcdm000の開発に際して、MonaOSアプリ作成初心者の僕にいろいろ教えてくださった
Gakuさんとhigeponさん、どうもありがとうございました。またMonaADKにもとても助け
られました。関係者の皆様にお礼申し訳上げます。
---
・リンク
http://osask.jp/boyaki04.html
http://wiki.osask.jp/?GUIGUI01/memo00
http://wiki.osask.jp/?GUIGUI01/memo01
http://wiki.osask.jp/?GUIGUI01/memo02
http://wiki.osask.jp/?OSASK-HB
http://wiki.osask.jp/?OSASK-HB/0001
-------------------------------------------------------------------------------
それでは。
--
川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! osask.jp
Homepage http://osask.jp/